gpt4 book ai didi

javascript - 为 fancybox 解析 URL 功能?

转载 作者:行者123 更新时间:2023-11-29 20:11:45 24 4
gpt4 key购买 nike

我运行一个定义了以下函数的电子商务网站。我不控制调用此函数的模板。它用于打开一个小的联系窗口。 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com