7

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

1.内联JS

<script type='text/javascript'> ... </script>

2.外部JS

<script src="someURL"></script>

3.事件处理JS:

<input type="button" onclick="...javascript..."         

4.JavaScript:网址

<a href="javascript: ...JS CODE...">js</a>

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

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

4

2 回答 2

6

实际上有很多方法可以在 HTML 中执行 Javascript,所有这些方法都因浏览器和平台而异。

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

在不那么晦涩的人中,有这些:

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

...等等。

于 2012-06-13T23:22:58.907 回答
1

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

图 3 和图 4 与eval. 3 定义this为事件所在的元素。

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

于 2012-06-13T17:56:33.113 回答