从URL /地址栏调用Javascript函数

有没有可能从URL调用一个JavaScript函数?

就像: http://www.example.com/mypage.aspx?javascript:printHelloWorld() : http://www.example.com/mypage.aspx?javascript:printHelloWorld() javascript: http://www.example.com/mypage.aspx?javascript:printHelloWorld()

我知道如果你把javascript:alert("Hello World"); 进入地址栏,它将工作。

我怀疑这个答案是否定的,只是想知道是否有办法做到这一点。

没有超链接,没有。 除非页面内部具有脚本专门为此,它正在检查一些参数….但对于你的问题,不,没有在浏览器内置的支持。

有书签可以书签,以快速从您的地址栏运行JavaScriptfunction; 不知道这是否符合你的需求,但它是如此接近。

写在地址栏中

 javascript:alert("hi"); 

确保你写在开始:javascript:

/test.html#alert('heello“)

 test.html <button onClick="eval(document.location.hash.substring(1))">do it</button> 

您可以使用数据URI。 例如: data:text/html,<script>alert('hi');</script>

欲了解更多信息,请访问: https : //developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

你也可以放置下面的内容

 <a href='javascript:alert("hello world!");'>Click me</a> 

到你的HTML代码,当你点击“点击我”的超链接时,JavaScript将出现在url栏,并提示对话框将显示

你可以使用像这样的情况:例如,你有一个页面: http://www.example.com/page.php : http://www.example.com/page.php然后在那个page.php中插入这样的代码:

 if (!empty($_GET['doaction']) && $_GET['doaction'] == blabla ){ echo '<script>alert("hello");</script>'; } 

那么,每当你访问这个url: http://www.example.com/page.php?doaction=blablahttp://www.example.com/page.php?doaction=blabla action = http://www.example.com/page.php?doaction=blabla

那么警报将被自动调用。

关于window.location.hash属性:

返回URL的锚点部分。


例1:

 //Assume that the current URL is var URL = "http://www.example.com/test.htm#part2"; var x = window.location.hash; //The result of x will be: x = "#part2" 

例2:

 $(function(){ setTimeout(function(){ var id = document.location.hash; $(id).click().blur(); }, 200); }) 

例3:

 var hash = "#search" || window.location.hash; window.location.hash = hash; switch(hash){ case "#search": selectPanel("pnlSearch"); break; case "#advsearch": case "#admin": }