<script type="text/javascript" src="https://domain/functionfile.js"></script>
<script type="text/javascript">
var jQ110 = $.noConflict(true);
jQ110(function ($) {
if ($( "#element20-input" ).length>0) {
$( "#element20-input" ).load(
"https://domain/page #elementwidget-input", function() {
widgetfrontend(248);
});
}
});
</script>
HTML
<div id="element20-input">Loading...</div>
<div id="elementwidget-result">Loading...</div>
以上在Safari,Opera,Firefox,Chrome等和IE9 +中都能正常工作,但在IE8中则不行。控制台抛出“Object expected
”行(使用IE8时):
widgetfrontend(248);
widgetfrontend
函数在https://domain/functionfile.js
中定义如下:
function widgetfrontend( mun_id ) {
alert( mun_id );
}
为什么会出错?是不是javascript正确加载或什么?这是为什么?
更新
使用
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.js"></script>
我正在使用跨域脚本。是的,允许访问源等在服务器上设置,这样就可以了。
答案 0 :(得分:0)
如果有人偶然发现了这个问题。 IE8和IE9使用XDomainRequest(微软在ajax调用中自己处理响应)。使用SSL时,XDomainRequest仅在两个域都具有SSL时才有效。