Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
onclick事件中定义的标签,如;javascript:bsubmited=true";_Javascript_Onclick - Fatal编程技术网

onclick事件中定义的标签,如;javascript:bsubmited=true";

onclick事件中定义的标签,如;javascript:bsubmited=true";,javascript,onclick,Javascript,Onclick,在一段旧的遗留代码中,我发现了以下onclick事件: onclick="javascript:bSubmitted=true;" 有人知道此代码前面的javascript:标签是什么吗?我以前从未见过这种表示法,据我所知,onclick事件中的内容始终是javascript。删除它,或将其更改为其他内容似乎没有效果,IntelliJ似乎认为这是一个“不必要的标签” 出于好奇,我仍然想知道它的用途和用途。有人知道吗?当对表单执行任何更改时,javascript会检查是否存在任何更改。如果有,则

在一段旧的遗留代码中,我发现了以下onclick事件:

onclick="javascript:bSubmitted=true;"
有人知道此代码前面的
javascript:
标签是什么吗?我以前从未见过这种表示法,据我所知,onclick事件中的内容始终是javascript。删除它,或将其更改为其他内容似乎没有效果,IntelliJ似乎认为这是一个“不必要的标签”


出于好奇,我仍然想知道它的用途和用途。有人知道吗?

当对表单执行任何更改时,javascript会检查是否存在任何更改。如果有,则会在用户离开页面之前发出警告。 通过添加,可以在“提交”按钮上禁用此操作

onclick="javascript:bSubmitted=true;"

它的标签。

我想你可以在这里找到你的答案(这是我找到的唯一谈论这个的“官方”来源):

取自7.8.1跨文档导航

如果资源是url方案为“javascript”的请求,则队列a 任务,位于DOM操纵任务源上,并与 browsingContext的活动文档,要运行以下步骤:

让响应成为执行javascript:URL请求的结果 给定资源、源浏览上下文和浏览上下文。跑 使用资源、响应、导航类型处理导航响应, 源浏览上下文,浏览上下文, 现有NavigationRigin和ActiveDocumentNavigationRigin

基本上,
javascript:
可以用作url方案,该方案(仅用于向样板文件中添加内容)过去和现在都用于许多XSS注入


在这种情况下(单击事件时),它听起来确实不必要,但在href上可能很有用,正如您在这里看到的(fiddle链接,因为StackOverflow代码段管理器不允许在
javascript:
)上发出警报):

我认为,您可以在HTML标准中找到答案:。基本上,
javascript:
可以用作url方案,该方案(仅用于向样板文件中添加内容)过去和现在都用于许多XSS注入。在这种情况下(在单击事件时),它听起来确实不必要,但它在
href
上可能很有用,例如()实际上是有意义的。使用这个代码库已经有一段时间了,在过去的某个地方,有人将该部分从href移动到onclick,这是非常有意义的。不幸的是,git的历史并没有追溯到那么远:)。你能不能把这个交给我一个答案,这样我就可以把它标记为正确的?我不确定它是否是正确的答案,我只是试图在我能想到的最可靠的来源中找到信息,那就是HTML规范。我在MDN上也没有找到任何东西,所以在这个话题上似乎没有太多要说的,除了事实上它“曾经”(现在)被用作一个url方案。。。不管怎样,我会添加答案。我们有一个非常严格的测试过程,所以如果删除它,结果确实有问题,我会更新这个问题。现在这个解释似乎合适:)。我不确定你在说什么。我问的是“javascript:”部分,而不是“bsubmited=true”部分。变量是我的应用程序逻辑的一部分,我知道该部分的作用:)。