zoukankan      html  css  js  c++  java
  • JavaScript中伪协议

    javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行

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

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

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

    javascript URL还可以含有只执行动作,但不返回值的javascript语句。例如:

    1 javascript:alert("hello world!")

    装载了这种URL时,浏览器仅执行其中的javascript代码,但由于没有作为新文档来显示的值,因此它并不改变当前显示的文档。

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

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

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

    使用:在不引入父级页面js的情况下,调用父级页面的方法

     1 <!DOCTYPE html>
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5     <title></title>
     6     <style>
     7         .test {
     8             width: 50px;
     9             height: 50px;
    10             background-color: black;
    11         }
    12     </style>
    13     <script>
    14         function topLink(link) {
    15             var target = window;
    16             if (window.top) {
    17                 target = window.top;
    18             }
    19             target.location.href = link;
    20         }
    21     </script>
    22 </head>
    23 <body>
    24     <div class="test">
    25         <a href="javascript:topLink('javascript:testFun()')">返回</a>
    26     </div>
    27 </body>
    View Code

    其中testFun()是父级页面的公用方法

    参考:http://www.jb51.net/article/52358.htm

  • 相关阅读:
    Spring整合hibernate4:事务管理
    eclipse添加约束文件
    转]@SuppressWarnings 详解
    spring + springMVC +hibernate 配置2
    spring +spring+ hibernate配置1
    eclipse下 hibernate逆向数据库操作示例!!
    Spring+hibernate 配置实例
    dubbo接口快速测试技巧
    Spring Boot Starter列表
    Spring Boot Starters是什么?
  • 原文地址:https://www.cnblogs.com/lcyuhe/p/6409379.html
Copyright © 2011-2022 走看看