jquery 没有加载来自另一个域的脚本
jquery not loading in a script from another domain
我有一个问题,我想从另一个网站加载一个 Javascript 到一个网站并在那里使用 jQuery。但似乎 jQuery 永远不可用。
我尝试了这个 post 中的所有内容:Test if jquery is loaded not using the document ready event.
这可能是跨站点安全问题吗?
页面如下:
Japanese cities
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({});
}
})();
我总是得到错误
TypeError: $.ajax is not a function
有什么想法吗?
谢谢
伯恩哈德
在您的页面中有
<script src="/cache/template/gzip.php?jquery-noconflict-4baa84c1.js" type="text/javascript"></script>
这是做什么的:
jQuery.noConflict();
这意味着你
Relinquish jQuery's control of the $ variable
即$
不再与 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 准备就绪,它将 document.ready 与局部范围的 $
例如
jQuery(function($){
// Your DOM ready code - using a locally scoped $
});
"Half the code, twice the flavour!":)
我有一个问题,我想从另一个网站加载一个 Javascript 到一个网站并在那里使用 jQuery。但似乎 jQuery 永远不可用。 我尝试了这个 post 中的所有内容:Test if jquery is loaded not using the document ready event.
这可能是跨站点安全问题吗?
页面如下: Japanese cities
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({});
}
})();
我总是得到错误
TypeError: $.ajax is not a function
有什么想法吗?
谢谢
伯恩哈德
在您的页面中有
<script src="/cache/template/gzip.php?jquery-noconflict-4baa84c1.js" type="text/javascript"></script>
这是做什么的:
jQuery.noConflict();
这意味着你
Relinquish jQuery's control of the $ variable
即$
不再与 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 准备就绪,它将 document.ready 与局部范围的 $
例如
jQuery(function($){
// Your DOM ready code - using a locally scoped $
});
"Half the code, twice the flavour!":)