javascript - fancybox 的解析 URL 功能失效?

标签 javascript jquery fancybox

我运行一个电子商务网站,其中定义了以下函数。我不控制调用该函数的模板。它用于打开一个小的接触窗口。 URL 在不同 session 之间发生变化。我需要以某种方式从函数中解析该 URL 并将其存储在变量中,以便使用我控制的纯 HTML/CSS 模板从 fancybox 中调用它。你知道我该怎么做吗?这是函数:

function OpenContactWindow() {
    window.open('/UI/ContactInfo.aspx?id=R6nq0s8aTFntDzsV-p-pXm22kKpENjtYjAsgwTtIa5Qhhf5CT4Ndx7Rg-e-e', '', 'fullscreen=no,toolbar=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,directories=no,location=no,width=800,height=600');
    return false;
}

在我控制的模板上,我有一个调用该函数的链接,它会在一个简单的弹出窗口中打开:

<a href="javascript:void(OpenContactWindow());">Contact Us</a>

这是我想出的代码,但它不起作用:

$(document).ready(function(){
$(".extLink").fancybox({
     'width' : '75%',
     'height' : '75%',
     'autoScale' : false,
     'transitionIn' : 'none',
     'transitionOut' : 'none',
     'type' : 'iframe'
 });

 }); 
});


<a class="extLink" href="javascript:void(OpenContactWindow());">Contact Us</a>

我应该使用什么代码?我是新手! =)

最佳答案

我对 FancyBox 一无所知,但这里有一种从函数中解析出 URL 的方法:

var contactURL=OpenContactWindow.toString();
var contactURL=contactURL.split('window.open("')[1];
var contactURL=contactURL.split('",')[0];
//contactURL now contains the URL to the contact form

基本上,您只需使用 .toString() 将函数转换为字符串,然后使用几个 split() 来查找 URL。您会注意到,虽然 OpenContactWindow 函数中的 window.open() 使用单引号,但这里使用双引号。 JavaScript 自动用双引号替换单引号。如前所述,变量 contactURL 包含来自 OpenContactWindow 函数的 URL。您应该能够从那里获取它并在必要时使用 FancyBox。

您可以找到演示here 。只需单击“获取 URL”按钮,它就会显示 URL。查看源代码,您会发现它实际上确实检查了该函数。该函数使用随机字符串作为 ID,该 ID 在每次重新加载页面时由 PHP 生成。单击按钮并显示 URL 后,页面将重新加载,以便您可以使用新生成的 ID 再次查看它的工作情况。

关于javascript - fancybox 的解析 URL 功能失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9222238/

相关文章:

javascript - Google Maps Geocoding API,其 JS api 中缺少 API 的功能(?)

jquery - 使用 fanybox-2 的多种背景颜色

javascript - 花式盒子2 : how to turn off loading graphic for img sequence?

javascript - 如果用户已经在 Facebook 粉丝页面上单击了 "like",如何检查我的网站?

javascript - SVG 作为 Div 的内联背景图像不起作用

javascript - jQuery addClass 停止工作

Jquery - 检查选择框的值是否从另一个 JS 代码更改

javascript - 当用户选择选项时如何获取选择的ID?

javascript - 设置fancybox的宽高

javascript - 通过透明 div 传递点击和 jQuery 悬停的困境