从 URL/地址栏调用 Javascript 函数

IT技术 javascript url
2021-01-22 08:05:37

是否可以从 URL 调用 javascript 函数?我基本上是在尝试在我无法访问源代码的页面中利用 JS 方法。

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

我知道如果你javascript:alert("Hello World");输入地址栏它会起作用。

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

6个回答

没有来自超链接,不。除非页面内部有专门用于此的脚本并且它正在检查某些参数......但对于您的问题,不,浏览器中没有内置支持。

然而有书签工具,你可以书签快速从地址栏运行JavaScript的功能; 不确定这是否满足您的需求,但它尽可能接近。

我基本上是在尝试在我无法访问源代码的页面中利用 JS 方法。
2021-04-10 08:05:37

写在地址栏

javascript:alert("hi");

确保你在开头写: javascript:

@stomy 你需要javascript:手动输入,不幸的是
2021-03-27 08:05:37
它不适用于Google Chrome版本 80.0.3987.132(官方版本)(64 位)。Chrome 会自动javascript:从地址栏中去除前缀。
2021-04-09 08:05:37

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

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

它适用Chrome 80.0.3987.162 (Official Build) (64-bit)Firefox 72.0.2 (64 bit)
2021-03-17 08:05:37
您不能将其附加到网址。
2021-03-18 08:05:37
我一直认为数据 url 仅用于图像,谢谢这真的很棒:)
2021-03-23 08:05:37
它适用于Google Chrome版本 80.0.3987.132(官方版本)(64 位)。
2021-04-09 08:05:37
某些浏览器可能会通过一条消息阻止此操作: Navigation to toplevel data: URI not allowed (Blocked loading of: “data:text/html,<script>alert('hi');</script>”)
2021-04-11 08:05:37

/test.html#alert('你好')

test.html
<button onClick="eval(document.location.hash.substring(1))">do it</button>
正如@domenukk 所指出的,这会导致反映的跨站点脚本 (XSS) 问题。
2021-03-16 08:05:37
是的,这太疯狂了。有些工作场所你会因为这种精神错乱而被解雇。
2021-03-27 08:05:37
请注意,这种评估用户输入的做法是非常危险的做法,通常不应被允许。
2021-04-01 08:05:37

您也可以放置以下内容

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

到您的 html 代码,当您单击“单击我”超链接时,javascript 将出现在 url-bar 中,并且警报对话框将显示

这就是我要找的,这叫什么?
2021-03-28 08:05:37
javascript 会出现在什么浏览器的url-bar中?我从来没有见过。(我知道 javascript: links 工作,我只是在谈论 URL 栏)
2021-03-31 08:05:37
我也没有。我知道你可以在地址栏中输入 JS
2021-04-02 08:05:37