Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中将函数传递给url_Javascript_Url - Fatal编程技术网

如何在javascript中将函数传递给url

如何在javascript中将函数传递给url,javascript,url,Javascript,Url,我试图调用一个函数来打开一个灯箱,当有人点击一个链接创建。我以前见过这样做,但不记得是如何做到的: google.com:javascript(openWindow()) 有人知道我怎么做吗 javascript:openWindow() 是一个URL,大多数浏览器将其解释为调用openWindow()函数,并将强制为字符串的结果视为加载URL的结果 有关更多详细信息,请参阅。您的意思是 <a href="#" onclick="yourOpenLightboxFunction();

我试图调用一个函数来打开一个灯箱,当有人点击一个链接创建。我以前见过这样做,但不记得是如何做到的:

google.com:javascript(openWindow())
有人知道我怎么做吗

javascript:openWindow()
是一个URL,大多数浏览器将其解释为调用
openWindow()
函数,并将强制为字符串的结果视为加载URL的结果

有关更多详细信息,请参阅。

您的意思是

<a href="#" onclick="yourOpenLightboxFunction(); return false;" />

提供了更多细节。

您可能指的是


函数clickMe(){
//您的代码在这里调用lightbox等。
警报(“测试”);
}

我认为可以,您可以从地址栏添加书签以快速运行JavaScript函数

以下代码最终帮助我完成了任务。我找到了答案


更具体地说,您可以编写
javascript:window.open('http://www.google.com/');我试图做的是在页面上调用函数。我将给出一个例子。@jnolte,应该在什么时候调用该函数?页面加载时,还是单击链接或按钮时?如果是后者,那么James McCormack已经回答了您的问题。我希望在页面加载时通过url中的参数调用它。我想要一个lighbox函数只在用户单击我提供的链接时打开。因此,本质上我希望通过一个参数将函数传递到url中。我很确定这是可能的,但不知道如何实现。您可以使用
encodeURIComponent()
对函数进行编码,将其发送到querystring中,然后如果检测到querystring参数,则在目标页面上对其进行
eval()
编码。不过,这确实让人感觉很不舒服,我不推荐这种方法。最好只传递一个querystring参数,使目标页面上的函数运行,可能使用querystring参数作为参数。搜索有关此主题的更多信息的一个好词是“bookmarklet”。
<html>
<body>
    <script type="text/javascript">
        function clickMe(){
            //your code here to call lightbox and etc.
            alert('test');
        }
    </script>

    <a href="javascript:clickMe()">click</a>
</body>
</html>
var url = document.location.href;
if(url.search(/\?lightbox/i) !== -1){
    //run function here

}