`
deng131
  • 浏览: 672585 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JavaScript中伪协议 javascript:

阅读更多
将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中。这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行。如果javascript:URL中的javascript代码含有多个语句,必须使用分号将这些语句分隔开。这样的URL如下所示:

    javascript:var now = new Date(); "<h1>The time is:</h1>" + now;

当浏览器装载了这样的URL时,它将执行这个URL中包含的javascript代码,并把最后一条javascript语句的字符串值作为新文档的内容显示出来。这个字符串值可以含有HTML标记,并被格式化,其显示与其他装载进浏览器的文档完全相同。

javascript URL还可以含有只执行动作,但不返回值的javascript语句。例如:
    javascript:alert("hello world!")
装载了这种URL时,浏览器仅执行其中的javascript代码,但由于没有作为新文档来显示的值,因此它并不改变当前显示的文档。

通常我们想用javascript:URL执行某些不改变当前显示的文档的javascript代码。要做到这一点,必须确保URL中的最后一条语句没有返回值。一种方法是用void运算符显式地把返回值指定为underfined,只需要在javascript:URL的结尾使用语句void 0;即可。例如:下面的URL将打开一个新的空浏览器窗口,而不改变当前窗口的内容:

javascript:window.open("about:blank"); void 0;

如果这个URL没有void运算符,window.open()方法的返回值将被转换成字符串并被显示出来,当前窗口将被如下所示的文档覆盖。
分享到:
评论

相关推荐

    第八节 Javascript伪协议的XSS-01

    在Payload触发XSS漏洞中,我们可以使用javascript伪协议来触发XSS漏洞,例如javascript:alert(document.domain)就是一个Payload示例,它可以弹出一个警告框,显示当前网站的域名。 javascript伪协议可以用于触发XSS...

    JavaScript中伪协议 [removed]使用探讨

    需要注意的是,虽然javascript伪协议在某些情况下非常有用,但它的使用通常不推荐在生产环境中广泛使用,因为它可能会导致用户体验上的混乱,比如用户不小心点击了包含javascript伪协议的链接,可能会看到一些不预期...

    js-new-window-opens.zip_javascript

    opens.zip_javascript`这个压缩包文件显然关注的是如何利用JavaScript控制`&lt;a&gt;`标签来实现链接在新窗口中打开,并且涉及到如何通过正则表达式进行特定的链接地址判断,以防止某些链接(比如`javascript:`伪协议)被...

    javascript过滤危险脚本方法.docx

    3. **伪协议**:`javascript:`或`vbscript:`协议可以被用在`href`或`src`属性中,执行相应的脚本。 4. **CSS表达式**:在CSS中,`expression()`可以执行JavaScript代码,虽然已被废弃,但仍可能在某些旧版本的浏览器...

    JavaScript课件-01.pptx

    2. **事件处理**:JavaScript可以通过事件监听,如`onclick`,在用户交互时触发相应的函数,或者在链接中使用`javascript:`伪协议来执行JS代码。 3. **基本语法**:JavaScript是大小写敏感的,标识符规则规定首字符...

    Javascript知识点汇总.doc

    - 超链接应用:使用javascript:伪协议进行页面跳转或执行脚本。 - 表单处理:通过事件监听获取表单数据,实现验证和提交。 - 下拉列表框:使用和标签创建,通过value属性获取选中项。 - 多行文本框:元素,可...

    JavaScript常用50例

    7. 阻止网页被另存为:使用 `noscript` 标签配合 `javascript:`伪协议,可以尝试阻止用户将网页保存为本地文件,但这种方法并不是完全有效,因为用户还可以通过其他方式获取网页内容。 8. 查看源代码按钮:通过创建...

    Javascript的运用与提高.pdf

    SOLUTION:可以使用 JavaScript 伪协议、内嵌事件处理函数或平稳退化来实现。例如,使用 `&lt;a href='javascript:popUp('http://www.myexample.com');return false;'&gt;My Example&lt;/a&gt;` 或 `(this.href);return false;'...

    Javascript笔记

    4. **取消标签的默认行为**:在HTML中,可以使用`javascript:`伪协议或者`javascript:void(0)`来阻止超链接和表单提交的默认行为。例如: - `&lt;a href="javascript:;"&gt;跳转&lt;/a&gt;` - `&lt;a href="javascript:void(0)"&gt;...

    javascript知识点汇总.doc

    2. 放在超链接或表单的重定向中,通过`javascript:`伪协议执行。 3. 在特定事件(如onclick)中调用函数。 4. 引入外部的.js文件,以分离结构和行为。 注释方面,JavaScript提供了两种形式: 1. 为了兼容旧版浏览器...

    Javascript-绝对简明手册.pdf

    - **方法二**:通过伪协议链接调用脚本。 ```html &lt;a href="javascript:void window.open();"&gt;Open ``` - **方法三**:引用外部JavaScript文件。 ```html &lt;script language="javascript" src="/js/dialog.js"&gt; ...

    通过伪协议解决父页面与iframe页面通信的问题

    为了解决这个问题,我们可以利用伪协议(通常是以`javascript:`开头的URL)来注入JavaScript代码。在iframe的`src`属性中,我们可以指定一个JavaScript函数,该函数在执行时会设置`document.domain`并动态生成内容。...

    JavaScript语法

    例如,可以使用标签嵌入JavaScript代码,或者使用javascript伪协议指定脚本运行。当遇到不支持脚本的浏览器时,可以使用HTML注释或标签来提供替代内容。 JavaScript的基本语法包括了标识符命名规则、注释的使用,...

    JavaScript动态绑定详解

    JavaScript动态绑定是编程中一种重要的概念,特别是在处理用户交互或动态生成元素时。在JavaScript中,事件绑定通常用于响应用户的操作,例如点击按钮、输入文本等。然而,当元素是动态生成的,即在页面加载完成后...

    Javascript小技巧一箩筐

    - **防止空链接跳转**:使用`javascript:`伪协议可以避免点击空链接导致的页面跳转问题,保持用户体验的一致性。 通过上述技巧的学习与应用,开发者不仅能够优化现有项目的性能,还能在遇到新挑战时更加从容不迫,...

    javascript面试题

    解决方案包括使用 CSS 伪类 `:visited` 和 JavaScript 动态更改链接的状态。 **21、什么是 CssHack?ie6,7,8 的 hack 分别是什么?** CssHack 是针对特定浏览器的 CSS 样式调整技巧。IE6、7、8 的 hack 方法包括...

    html中a标签调用js函数.docx

    其次,使用`javascript:`协议会导致`window.onbeforeunload`事件不必要的触发,且在IE中可能导致GIF动画暂停。此外,W3C标准并不推荐在`href`属性中执行JavaScript语句。 2. **使用`onclick`事件与`void(0)`** 更...

    原生javascript自定义滚动条(兼容IE,火狐,chrom)

    在CSS中,Webkit内核的浏览器如Chrome和Safari提供了`-webkit-scrollbar`和`-webkit-scrollbar-part`等伪元素来定制滚动条样式。而Firefox使用`scrollbar-color`和`scrollbar-width`属性,IE则需要通过JavaScript...

Global site tag (gtag.js) - Google Analytics