精华内容
下载资源
问答
  • 通过js动态载入页面和css或js的实现代码,需要的朋友可以参考下。国外人写的,可以参考下。
  • var test =xmlDoc.load("xml/book.xml"); } catch(e){ alert("-----:error "); } 我这代码在执行的时候到xmlDoc.load这里就被try出去了,我在网上看到很多人都是这样加载的,请问这些写有什么问题吗
  • 当我用loadUrl加载webview时,javascript工作正常,但是当我尝试使用loadData加载(我需要它)时,出现错误:“NETWORK_ERR: XMLHttpRequest Exception 101”。这个错误听起来像一个访问控制原点问题。parseJsoup函数...

    我尝试使用ajax post请求在Android webview中加载html页面。

    当我用loadUrl加载webview时,javascript工作正常,但是当我尝试使用loadData加载(我需要它)时,出现错误:“NETWORK_ERR: XMLHttpRequest Exception 101”。这个错误听起来像一个访问控制原点问题。

    parseJsoup函数用良好的字符串替换html页面中的某个字符串。我检查我传递给loadData的数据,并且脚本部分不会改变。

    我的创建功能:

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    String html = parseJsoup("index.html");

    setContentView(R.layout.main);

    myBrowser = (WebView)findViewById(R.id.mybrowser);

    myBrowser.getSettings().setJavaScriptEnabled(true);

    myBrowser.setWebViewClient(new MyWebViewClient());

    //myBrowser.loadUrl("file:///android_asset/index.html");

    myBrowser.loadDataWithBaseURL("", html, "text/html", "utf-8", null);

    }和我的JavaScript代码:

    $.ajaxSetup({

    contentType: "application/json; charset=utf-8",

    datatype: "json",

    async: false,

    });

    $.ajax({

    type: "POST",

    url: "my url",

    data: 'my data',

    success: function(data){

    // Do some action here with the data variable that contains the resulting message

    document.write("OK "+JSON.stringify(data));

    console.log(data);

    },

    error: function(data){

    document.write("KO "+JSON.stringify(data));

    console.log(data);

    }

    });谢谢

    展开全文
  • JS中的load方法

    千次阅读 2014-08-25 16:28:05
    $('body>.sys-index>section').load('html/main.html',{_date:new Date()});
    $('body>.sys-index>section').load('html/main.html',{_date:new Date()});
    展开全文
  • 一、问题分析 对于后台系统,相比大家都有所印象,知道其中的布局结构,...使用jquery的load方法来处理这种页面布局框架。 二、load方法详解 1.定义  $(selector).load(URL,data,callback);  必需的 URL 参数规定您希
  • js load js

    万次阅读 2012-04-26 11:36:30
    javascript脚本加载 js load block 心细的用户,可以从上面的http瀑布图比较看出:只有等到a.js加载完了,才开始加载b.js,然后再加载图片资源。我们称a.js阻塞b.js。这种现象,称之为js load block。 //...

    javascript脚本加载 js load block


    心细的用户,可以从上面的http瀑布图比较看出:只有等到a.js加载完了,才开始加载b.js,然后再加载图片资源。我们称a.js阻塞b.js。这种现象,称之为js load block。

    //filename:index.html
    <html>
    <head>
      <script type="text/javascript" src="a.js"></script>
      <script type="text/javascript" src="b.js"></script>
    </head>
    <body>
      <img src="http://static.perfgeeks.com/wp-content/uploads/2011/01/p_460_001.jpg" />
    </body>
    </html>

    有没有办法,让这三个不同的资源a.js, b.js, p_460_001.jpg同时加载,减少页面加载时间,避免因阻塞导致的减速影响。通常有以下几个办法

    • 把所有javascript都内嵌在页面中
    • XHR Eval
    • XHR Injection
    • Iframe
    • Script DOM Element
    • Defer
    • document.write

    这里着重介绍最常用的XHR Injection和Script DOM Element二种方法

    XHR Injection

    XHR Injection和XHR Eval注入技巧都是通过XMLHttpRequest来获取Javascript脚本资源。然后,XHR Eval通过javascript函数eval执行脚本。而XHR Injection则是通过创建一个script的DOM元素,然后把XMLHttpRequest的响应注入script中。某些时候,eval会比较慢,所以我们不推荐使用XHR Eval技巧。

    <html>
    <head>
    <script type="text/javascript">
    function load_js(src) {
        var xml_http = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
        xml_http.onreadystatechange = function() {
          if (xml_http.readyState == 4) {
             var script_element = document.createElement('script');
             document.getElementsByTagName('head')[0].appendChild(script_element);
             script_element.text = xml_http.responseText;
          }
        }
        xml_http.open('GET', src, true);
        xml_http.send('');
    }
    load_js('a.js');
    load_js('b.js');
    </script>
    </head>
    <body>
    <img src="http://static.perfgeeks.com/wp-content/uploads/2011/01/p_460_001.jpg" />
    </body>
    </html>


    上图可以看到,a.js, b.js和图片资源并行加载。但是XHR Injection有一个限制,不支持跨域加载。即获取的脚本必须部署在与页面相同的域中。同时,该技术不能保证脚本的执行顺序。

    Script DOM Element

    相较于XHR Injection而言,Script DOM Element技巧支持跨域加载,即可以加载来自不同域的text/javascript资源文件。这是因为该技术利用javascript动态创建script DOM元素并且设置src。

    <html>
    <head>
    <script type="text/javascript">
    function load_js(src) {
      var script_elem = document.createElement('script');
      script_elem.type = 'text/javascript';
      script_elem.src = src;
      document.getElementsByTagName('head')[0].appendChild(script_elem);
    }
    load_js('a.js');
    load_js('b.js');
    load_js('http://www.jt-tech.net/misc/jquery.js');
    </script>
    </head>
    <body>
    <img src="http://static.perfgeeks.com/wp-content/uploads/2011/01/p_460_001.jpg" />
    </body>
    </html>


    上图也解决了javascript加载阻塞产生的减速影响,即a.js、b.js还有跨域jquery.js等并行加载。这种技巧也有一个小小缺陷,就是在某些浏览器(Firefox2.0/3.0/3.1、Safari3.2.1/4.0、Chrome1.0)会阻塞onload事件,影响用户体验

    阻塞渲染、阻塞onload、执行顺序

    阻塞渲染,当使用script src技术加载脚本时,浏览器停止渲染所有脚本后面的内容。这种阻塞给用户带来十分差劲的用户体验。应该尽量地避免这种情况出现。

    //filename:cat bd_i.html
    <html>
    <head>
    <script type="text/javascript" src="c.php">
    </script>
    </head>
    <body>
    hello world
    </body>
    </html>
     
    //filename:vbd_i.html
    <html>
    <head>
    <script type="text/javascript">
    function load_js(src) {
        var xml_http = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
        xml_http.onreadystatechange = function() {
          if (xml_http.readyState == 4) {
             var script_element = document.createElement('script');
             document.getElementsByTagName('head')[0].appendChild(script_element);
             script_element.text = xml_http.responseText;
             script_element.type = 'text/javascript';
          }
        }
        xml_http.open('GET', src, true);
        xml_http.send('');
    }
    load_js('c.php');
    </script>
    </head>
    <body>
    hello world
    </body>
    </html>
     
    //filename: c.php
    <?php
    sleep(2);
    ?>
    function c() {
      return 2;
    }


    二幅图对比,我们可以看到那条竖着的蓝线,表示脚本渲染完成。使用script src技术,则等到c.php(text/javascrip)加载完成之后完成的渲染。而使用XHR Injection技术加载脚本,并没有阻塞渲染。
    阻塞onload,通常页面的onload要直到所有资源加载完成时才会被触发。如果加载一个较大的javascript文件,用户需要等待更长时间,浏览器状态栏才会显示“完成”,同时还有可能延迟默认输入框获取焦点。导致较差的用户体验。
    执行顺序,当一个页面包含多个text/javascript脚本文件的时候。这些高级技术,使得这些脚本同时(并行)加载,受网络与文件大小的影响,脚本文件到到达顺序与开发人员期望的顺序有可能不一致。所以,使用这些高级技术的时候,尽量避免将相互调用的函数分散在不同的文件里面。

    展开全文
  • 有一个公共的登录弹框页面需要在多个页面引用,百度后就使用了jQuery 的 load 方法。 做法: 将公共的 html 页面提取出来,放在一个独立的 HTML 文件中。 然后在需要使用的 html 页面中,使用 jQuery 的 load ...

    Write By Monkeyfly

    以下内容均为原创,如需转载请注明出处。

    前提

    有一个公共的登录弹框页面需要在多个页面引用,百度后就使用了jQueryload 方法。

    做法:

    • 将公共的 html 页面提取出来,放在一个独立的 HTML 文件中。
    • 然后在需要使用的 html 页面中,使用 jQueryload 方法进行引用即可。
    • 注:提取的部分,不需要包含多余的<head>、<body>等标签,只需要放置你所用到的标签即可。

    用法:

    具体代码如下:

    //HTML部分:
    <div id="login_box" class="login-box"></div>
    
    //js部分:
    //当前页面的js文件
    <script src="../../js/carriage/carriage.js"></script>
    <script>
        $(function(){
            /*公共部分:登录弹框*/
            $("#login_box").load("../../template/login/login.html");
        })
    </script>
    //引入的公共登录页面的js文件
    <script src="../../template/login/login.js"></script>
    

    不想看代码的可以看图:
    carriage.js 文件中的部分 html 代码如下所示
    在这里插入图片描述

    login.js 文件中的 部分 js 代码如下所示:
    在这里插入图片描述

    发现问题

    注:这里以 关闭按钮 (即 .layer-close-icon 元素)为例,进行了测试和调试。

    • 代码运行后发现:登录弹框页面中所有元素的绑定事件都没有被触发。点击关闭按钮也没有反应。
    • 控制台调试后发现:在为 $(".layer-close-icon") 注册点击事件时,根本就没有找到该元素。【如下图所示】

    在这里插入图片描述

    • 在控制台查看当前的 HTML 结构,发现:此时,登录框并没有被加载进来。所以,页面元素目前还不存在,当然获取不到该元素,也就不能为它注册点击事件了。【如下图所示】

    在这里插入图片描述

    后来思考了许久,也问了一下同事,得出一个结论:这与页面中 js 文件 的加载和执行顺序有关系。

    • 页面上的js代码是HTML页面的一部分,所以js在页面装载时的执行顺序就是其引入<script />标签的出现顺序。
    • <script /> 标签里面的 js 代码 或者 通过 src 引入的外部 js,都是按照其语句出现的顺序执行,而且执行过程是文档装载的一部分。
    • 当页面中的 DOM 元素全部加载完毕后就执行jQuery 中的 $(document).ready(function(){})方法,或简写为:$(function(){})
    • 如果在执行 .ready() 方法之前有 js 代码存在,那么会先执行 ready()方法 之前的 js 代码,然后再执行 .ready()方法。

    参考资料: 浅谈js在html中的加载执行顺序,多个jquery ready执行顺序

    解决问题

    然后通过百度搜了一段时间,突然发现一个貌似可行的解决方法: jQuery 中的 $.getScript() 方法

    搜到的答案如下:
    (点击查看)jquery load 加载html 但是html包含的js不生效 ,求助!!

    为什么说貌似可行呢?一是没见过,二是没用过,三是感觉应该没问题。

    经过测试,发现确实可行。具体代码如下图所示:

    在这里插入图片描述

    jQuery.getScript() 函数用于动态加载JS文件,并在全局作用域下执行文件中的JS代码。

    请注意: 该函数是通过异步方式加载数据的。不要直接在 jQuery.getScript() 执行后直接调用该 js 文件中的变量或函数。

    关于该方法的详情,请点击 jQuery.getScript() 函数详解 查看。

    结束语

    至此,问题就已经被解决了。

    后来同事又给我提供了一个新的思路:
    加载完 HTML 文件之后,使用 js 动态创建一个 script 标签,然后通过它的 src 属性,指向你所要引入的js文件的路径。
    而且load方法可以使用一个回调函数作为第二个参数,所以我们可以在回调函数中动态的将 js 文件加载进来。

    具体代码如下所示:【亲测可行】

    <script>
        $(function(){
            /*公共部分:登录弹框*/
            $("#login_box").load("../../template/login/login.html",function(){
               var sc =  document.createElement("script");
               sc.src= "../../template/login/login.js";
               $("body").append(sc);
            });
            /* $.getScript("../../template/login/login.js",function(){
                // alert("载入成功!");
            }); */
        })
        </script>
    

    参考资料:

    展开全文
  • !... ...但是js使用load方法后,谷歌的Sources工具并没有显示新的页面资源,导致新加载的页面里面的js方法无法debug,开发起来困难,不清楚是不是自己的代码问题还是说是工具问题。麻烦大神们解答一下
  • lazyload是一个用Javascript编写的jQuery插件,它可以延迟加载长页面中的图片,在浏览器可视区域外的图片将不会被载入,直到用户将它们滚动到它们所在的位置。 跟bootstrap一样,lazyload.js也是依赖于jQuery ...
  • JavaScript Load Image

    2016-10-10 13:43:01
    A JavaScript library to load and transform image files.
  • Jquery方法load之后导致js失效解决方法 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&...
  • js load()方法传递参数及获取参数

    万次阅读 2018-07-23 14:16:09
    我们访问后台获取到的数据有的时候是[{&...而jsload()方法完整的是load("url",data,function(){}) 只需把访问后台访问的值var json = eval('(' + pat + ')');转换成对象, 在a.jsp中的js写到load("
  • 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
  • layer.jsload()方法的使用

    万次阅读 2018-12-21 15:47:08
    1、load方法提供三种风格供选择。 方法一:loadIndex = layer.load(); //不传参,默认0 方法二:loadIndex = layer.load(1); // 1,另外一种风格 方法三:loadIndex = layer.load(2,{time:10*1000}); //2,换一种...
  • JQuery使用load方法加载外部div时,css,js无效的办法 问题: 一个html页面a.html的js脚本中,用$(‘selector’).load方法,加载另一个html页面b.html中内容,b.html中css、js都失效。 解决办法一: 第一...
  • $(function(){ //load是异步操作,所以要将getscript放在load的回调函数里, $(".head").load("clone.html .header",function(){ //$.getScript也是异步操作,需要将在... $.getScript("js/details-head.js"...
  • eleventy-load-js 使用与webpack捆绑并最小化JavaScript。 入门 首先,您需要安装 (如果尚未安装)和eleventy-load-js。 您可能要结合使用eleventy-load-js和 ,因此我们也将安装它。 npm install --save-dev ...
  • jquery的load方法加载页面空白,js不起作用,但是页面不是完全空白,html进行了加载,但是js没有加载,最后使用博主的第二个方法解决。但是毕竟困惑的是我所用的封装的load是做了 _loadScript(scripts[i]);的封装和...
  • Lazy Load 插件原理 修改目标img元素的src属性为orginal属性,从而中断图片的加载。检测滚动状态,然后把网页可视区域中的img的src属性还原然后加载图片,从而制造了一种缓冲加载的效果。代码引入方法: 代码如下:&...
  • 方法接收一个标识远端js地址的url参数,加载成功后方法返回一个fulfilled promise,且远端js能够执行;加载失败或者超时5s则返回rejected promise /** * 加载外部的js文件 * @param url 要加载的js的url地址 * ...
  • 试用了几个Bootstrap框架,发现页面的结构都是通过...试了几种方法,在页面中直接include和用jQuery的load方法加载页面都出现嵌入的页面中的js代码无法执行的情况,最后找到解决方法,可以用以下代码实现:$("#tab_"+i
  • 上面提了下jQuery的load方法,感觉这需要记录下: jQuery load()方式是一个简单强大的ajax方法。 load()从服务器获取数据,并把返回的数据放入被选元素中。 语法 $(selected).load(URL,data,callback); 其中...
  • JQuery是一个很优秀的JS框架,我们在做ajax项目开发是避免不了使用该框架来实现一些ajax的效果,其中该框架中有一个load()方法,该方法是用来在页面不刷新的情况下动态装载服务器端的文件。
  • 使用jQuery.load方法加载一个网页,那么这个网页内部的js代码是否能够执行呢,答案是肯定的,这就相当于把load的内容与主页面进行了合并一样
  • jquery load方法使用

    千次阅读 2012-02-15 17:38:15
    调用load方法的完整格式是:load( url, [data], [callback] ),其中 url:是指要导入文件的地址。 data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 310,574
精华内容 124,229
关键字:

jsload方法