English 中文(简体)
只有在不存在时才装入 jQuery 的麻烦
原标题:Trouble with loading jQuery only if not present

我使用http://samespirit.net/ricky/2010/06/21/ only-load-jquery-if-not-arready-present/" rel=“不跟随norferrer"的代码,该代码与回答时的代码非常相似,https://stackoverflow.com/ queses/6708716/can-a-javascript-check-for-jquery-and-and-load-it-if-not-already-present>这个SO问题

我的问题是 < em> code 将jQuery 包含在精细 < / em > 中, 但出于某种原因, 脚本在发现 jQuery 已装入后, 无法识别。 我做错了什么?

"http://jsfiddle.net/JfWeG/" rel="没有跟随无悔者">我把代码放入一个jsFiddle。

if (!window.loadjQueryOnce)
{
    function loadjQueryOnce(jQueryVersion)
    {
        jQueryVersion = typeof(jQueryVersion) !=  undefined  ? jQueryVersion : "1.7.2";

        if (typeof jQuery === "undefined") {
            var script_tag = document.createElement( script );
            script_tag.setAttribute("type","text/javascript");
            script_tag.setAttribute("src",
              "http://ajax.googleapis.com/ajax/libs/jquery/" + jQueryVersion + "/jquery.min.js")
            document.getElementsByTagName("head")[0].appendChild(script_tag);
        }
    }
}
最佳回答

问题在于您不等待在 HTML 调用前执行脚本 。 < a href=" http://jsfiddle.net/yHfq4/" rel="nofollow" > 见这个例子 , 它使用您提到的博客的代码。 您需要在 main 函数中输入基于 jQuery 的代码 。

问题回答

当您将 loadjQueryOnce( 1. 7.2) 线移到上面您检查 jQuery 的地方时, jQuery 的装入正确 。 < a href="http://jsfiddle.net/JfWEG/2/" rel= "nofollow" > > http://jsfiddle.net/JfWeG/2/ 因此, 我不知道您在哪里进行检查, 但代码有效 。

如果您想要在装入依赖 JQuery 的 JS 文件之前确认 jQuery 已装入, 那么要么在装入 jQuery 后更改您的职能以装入文件, 或者在每个脚本使用 JQuery 之前检查 jQuery 。

// Load jQueryUI
if (!jQuery) loadjQueryOnce();
loadjQueryUI();

if (!jQuery) loadjQueryOnce();
loadjQueryDepedentScript();

它很笨拙,但很有效。如果你给我们一个更好的想法, 来了解你为什么这么做, 我们也许可以帮助你找到更好的解决办法。

你最好的赌注是创建一个模板 JQuery是头顶上第一件东西:

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        ...
    </head>

看上去是个时间问题 如果你在检查前造成小的延迟

<script type="text/javascript">
setTimeout(function() {
    if (typeof jQuery === "undefined") {
        alert( Not recognizing jQuery );
    }
}, 100);​
</script>

http://jsfiddle.net/j08691/JfWeG/3/" rel=“nofollow”>jsFiddle example .





相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签