在html文档中调用JS有多少种不同的方法?

Pro*_*was 7 javascript ecmascript-5

到目前为止,我知道,有4种不同的方法来定义和调用网页中的JavaScript

1.inline JS

<script type='text/javascript'> ... </script>
Run Code Online (Sandbox Code Playgroud)

2.外部JS

<script src="someURL"></script>
Run Code Online (Sandbox Code Playgroud)

3.Event hander JS:

<input type="button" onclick="...javascript..."         
Run Code Online (Sandbox Code Playgroud)

4.JavaScript:URL

<a href="javascript: ...JS CODE...">js</a>
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以在网页中插入JS?是否(有多少种方式)在任何标准规范中定义?

在上面提到的4种不同方式中,JavaScript的执行上下文有什么不同吗?

kan*_*gax 6

实际上有很多方法可以在HTML中执行Javascript,这些方法在浏览器和平台上各不相同.

其中很多(但不是全部)列在这个臭名昭着的XSS备忘单中.

在不那么模糊的中,有以下几种:

<img src="javascript:...">
<body background="javascript:...">
<style>BODY{-moz-binding:url("...")}</style>
<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:...">
Run Code Online (Sandbox Code Playgroud)

...等等.


Nie*_*sol 1

1 和 2 基本相同,只是 2 是外部文件,而 1 的内容就在那里。

图 3 和图 4 的思路与 类似eval。3 定义this为事件所在的元素。

就是这样。如果还有其他方法来包含 JS,我从来没有听说过。