在许多浏览器中,您可以执行以下操作:
javascript: alert("...");
有没有办法将它与网址结合起来?我在考虑这样的事情:
http://example.com?javascript: alert("...");
效果是在加载页面后执行javascript(与加载URL然后输入上述javascript语句相同的效果)
编辑:我不能使用window.onload或类似的东西,因为我不一定拥有该页面。
答案 0 :(得分:9)
不,你不能那样做。如果可能,它会代表安全问题,因为您可以在另一个域的页面上运行任意Javascript,这就是XSS(“跨站点脚本”)的全部内容。
基本上,在新页面上运行的任何Javascript都必须位于新页面上。
编辑:在当前页面和某些任意其他页面上执行Javascript之间的区别很大。在当前页面上,根据定义,您可以访问它,以便您可以运行任何您想要的任何内容。没有固有的安全风险。但是如果你可以在另一个页面上执行任意代码呢?
它允许你这样做:
这就是为什么你不能。
答案 1 :(得分:0)
你为什么不这样做
window.onload = function() {
alert("...");
};
在新页面中?
答案 2 :(得分:0)
只是为了澄清:
网址不是链接;它是统一资源定位器。当你要求“页面”时,你会要求一个资源。这就是“http://mysite.com/myscript.cgi”可以成为有效网址的原因。
超链接(href)可以是当前页面某处的URL或位置(锚点),也可以是某些本地脚本(不一定是Javascript)。
听起来好像是在尝试将某些操作附加到现有页面。您可以考虑将其框架化(在FRAME或IFRAME中)并将您的脚本放在封闭页面中。
答案 3 :(得分:0)
您可以将其作为书签...而不是网址本身。
中指定的链接