gpt4 book ai didi

javascript - JavaScript 链接的返回值应该如何处理?

转载 作者:行者123 更新时间:2023-11-30 17:07:40 24 4
gpt4 key购买 nike

根据标准,处理javascript协议(protocol)href链接的返回值的正确方法是什么?

一些例子:

  • <a href='javascript:"Hello World";'> Click </a> <!-- return a String -->

  • <a href='javascript:ThisFunctionReturnsString();'> Click </a>

  • <a href='javascript:12345;'> Click </a> <!-- Number -->

  • <a href='javascript:[1, 2, 3, 4, 5];'> Click </a> <!-- Array -->

  • <a href='null;'> Click </a> <!-- null-->

  • <a href='undefined;'> Click </a> <!-- undefined-->

  • <a href='javascript:{};'> Click </a> <!-- Object -->

符合标准的浏览器应该如何处理返回值?

当前的浏览器与这种标准行为有何不同?

最佳答案

来自 Web Applications API §6.1.5 :

下面解释了为什么点击链接会替换文档内容:

If the result of executing the script is void (there is no return value), then the URL must be treated in a manner equivalent to an HTTP resource with an HTTP 204 No Content response.

Otherwise, the URL must be treated in a manner equivalent to an HTTP resource with a 200 OK response whose Content-Type metadata is text/html and whose response body is the return value converted to a string value.

只需在地址栏中粘贴 javascript:"Hello World"; 即可轻松演示此行为。 javascript:(function() { return "Hello World";})() 也是如此。

下面解释了为什么只有您的 1 和 2 代码片段实际上在做某事。

Let the script source be the string obtained using the content retrieval operation defined for javascript: URLs

关于javascript - JavaScript <href> 链接的返回值应该如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27649468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com