有没有办法将内联javascript作为URL执行?

有没有办法将内联javascript作为URL执行?,javascript,Javascript,在许多浏览器中,您可以执行以下操作: javascript: alert("..."); http://example.com?javascript: alert("..."); 有没有办法把它和url结合起来?我在想这样的事情: javascript: alert("..."); http://example.com?javascript: alert("..."); 其效果是在加载页面后执行javascript(与加载URL然后输入上述javascript语句的效果相同) 编辑:我不

在许多浏览器中,您可以执行以下操作:

javascript: alert("...");
http://example.com?javascript: alert("...");
有没有办法把它和url结合起来?我在想这样的事情:

javascript: alert("...");
http://example.com?javascript: alert("...");
其效果是在加载页面后执行javascript(与加载URL然后输入上述javascript语句的效果相同)


编辑:我不能使用window.onload或类似的东西,因为我不一定拥有该页面。

不,你不能这样做。如果可以,它将代表一个安全问题,因为您可以在另一个域的页面上运行任意Javascript,这就是XSS(“跨站点脚本”)的全部内容

基本上,任何在新页面上运行的Javascript都必须在新页面上运行

编辑:在当前页面上执行Javascript与在其他任意页面上执行Javascript之间存在巨大差异。在当前页面上,根据定义,您可以访问它,以便可以运行任何您想要的内容。这不存在固有的安全风险。但如果您可以在另一个页面上执行任意代码呢

它将允许您执行以下操作:

  • 强制用户访问银行网站
  • 在该站点上检索他们的cookie(您可以使用JS实现);及
  • 将该用户重定向到将cookie作为查询参数传递的恶意网站
这就是为什么你不能。你为什么不这样做

window.onload = function() {
    alert("...");
};
在您的新页面中?

只是为了澄清:

  • URL不是链接;它是一个统一的资源定位器。当你要求一个“页面”时,你要求的是一个资源。这就是为什么“”可以是有效的URL

  • 超链接(href)可以是URL,也可以是当前页面上某处的位置(锚点),或者是一些本地脚本(不一定是Javascript)


  • 听起来好像您正在尝试将某些操作附加到现有页面。您可以考虑将其框(框架或iFrAME),并将脚本放在封闭页中。

    < P>可以作为书签来做……但本身不是URL。
    查看一下在

    Hmm中指定的链接,但是您不能仍然链接到javascript:。。。链接,在当前页面上?我不明白。在当前页面上链接到javascript与从文档源代码中调用函数或脚本是一样的,不知道还有什么要说的。