Javascript 解析fancybox的URL功能失效?

Javascript 解析fancybox的URL功能失效?,javascript,jquery,fancybox,Javascript,Jquery,Fancybox,我运行一个电子商务网站,其中定义了以下功能。我不控制调用此函数的模板。它用于打开一个小的接触窗口。URL随会话的不同而变化。我需要以某种方式从函数中解析该URL,并将其存储在一个变量中,以便使用我控制的普通HTML/CSS模板从fancybox调用它。你知道我怎么做吗?以下是函数: function OpenContactWindow() { window.open('/UI/ContactInfo.aspx?id=R6nq0s8aTFntDzsV-p-pXm22kKpENjtYjAsg

我运行一个电子商务网站,其中定义了以下功能。我不控制调用此函数的模板。它用于打开一个小的接触窗口。URL随会话的不同而变化。我需要以某种方式从函数中解析该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;
}
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
在我控制的模板上,我有一个调用函数的链接,它在一个普通弹出窗口中打开:

<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>
$(文档).ready(函数(){
$(“.extLink”).fancybox({
“宽度”:“75%”,
“高度”:75%,
“自动缩放”:false,
“transitionIn”:“无”,
“transitionOut”:“无”,
“type”:“iframe”
});
}); 
});

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

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

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;
}
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


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

噢,哇,谢谢分享!看起来我需要做的就是创建一个href,它应该可以工作。我做了一些研究,得出了这样的结论:这行吗?结束。您需要创建链接,首先链接到about:blank(),然后在$(document).ready块中,在FancyBox位之前,将my code后跟$(“.extLink”).attr(“href”,contactURL);