jQuery 未从另一个域加载脚本



我有一个问题,我想从另一个网站加载一个Javascript,并在那里使用jQuery。但似乎jQuery永远不可用。 我尝试了这篇文章中的所有内容:测试是否不使用文档就绪事件加载 jquery。

这可能是安全跨站点问题吗?

这是页面: 日本城市

jQuery 在第 29 行加载

<script src="/cache/template/gzip.php?jquery.min-3eab6f02.js" type="text/javascript"></script>

脚本加载在第 343 行

<script type="text/javaScript" src="http://www.factfish.com/api/js/japanese_cities.js"></script>

为了缩小范围,我只使用了一个空$ajax函数

(function() {
if (jQuery) {
$.ajax({});
}
})();

我总是收到错误

类型错误:$.ajax 不是一个函数

有什么想法吗?

谢谢

伯恩哈德

在你的页面中有

<script src="/cache/template/gzip.php?jquery-noconflict-4baa84c1.js" type="text/javascript"></script>

这样做:

jQuery.noConflict();

这意味着您

放弃 jQuery 对 $ 变量的控制

$不再与 jQuery 关联,您必须显式使用jQuery代替。

看到这个: https://api.jquery.com/jquery.noconflict/

这应该有效:

(function() {
if (jQuery) {
jQuery.ajax({});
}
})();

另一种方法:

(function( $ ) {
$(function() {
// More code using $ as alias to jQuery
$.ajax({});
});
})(jQuery);

正如@dekkard所指出的,你已经有效地删除了jQuery的$快捷方式别名。

作为@dekkard所示的IIFE的替代方案,还有一个快捷方式DOM ready,它将document.ready与本地范围的$相结合

例如

jQuery(function($){
// Your DOM ready code - using a locally scoped $
});

"一半的代码,两倍的味道:)!">

相关内容

  • 没有找到相关文章

最新更新