如果父页面已经存在,jQuery load()会阻止链接两次

时间:2014-04-24 08:45:17

标签: javascript jquery

我有一个页面使用jquery加载(页面数据将加载到灯箱)

//index.php

    <script type="text/javascript" src="/jquery-1.11.0.min.js"></script>
    <a href='login.php'></a> //lightbox will load this page into index.php

//login.php
use jquery post data

由于iphone上的布局问题,我决定直接使用window.location登录login.php。

我的问题出在login.php页面上没有jquery链接

如果我在login.php中添加此链接,当桌面设备使用灯箱加载此页面时,它将加载jquery两次

有没有办法防止父页面已经有链接再没有链接,像php require_once?

2 个答案:

答案 0 :(得分:1)

一种非常方便的方法

在你的window.location +&#39;?mobile = 1&#39;

比你的login.php

你可以检查$ _GET是否设置,如果是回显链接

答案 1 :(得分:0)

如果login.php不存在,您可以在window.jQuery中动态包含jQuery ..

// Example:
if( typeof window.jQuery == 'undefined' ) {
    JavaScript.load("/jQuery.js");
}

// With callback (that’s the good thing):
if( typeof window.jQuery == 'undefined' ) {
    JavaScript.load("/jQuery.js", function() {
      // your code or whatever ...
    });
}


/** Testet with:
 *  - IE 5.5, 7.0, 8.0, 9.0 (preview)
 *  - Firefox 3.6.3, 3.6.8
 *  - Safari 5.0
 *  - Chrome 5.0
 *  - Opera 10.10, 10.60
 */
var JavaScript = {
  load: function(src, callback) {
    var script = document.createElement('script'),
        loaded;
    script.setAttribute('src', src);
    if (callback) {
      script.onreadystatechange = script.onload = function() {
        if (!loaded) {
          callback();
        }
        loaded = true;
      };
    }
    document.getElementsByTagName('head')[0].appendChild(script);
  }
};