在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题

 更新时间:2010年11月28日 20:24:56   作者:  
这样的脚本你在ie8下调用,在ie8地址栏下按下回车后调用jquery的对像、方法什么的没有问题,但是刷新之后就有问题。就是刷新之后无论怎样你要在地址栏按一下回车。
复制代码 代码如下:

function include(path){
var a=document.createElement("script");
a.type = "text/javascript";
a.src=path;
var head=document.getElementsByTagName("head")[0];
head.appendChild(a);
}
include("http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js")

这样的脚本你在ie8下调用,在ie8地址栏下按下回车后调用jquery的对像、方法什么的没有问题,但是刷新之后就有问题。就是刷新之后无论怎样你要在地址栏按一下回车。
在火狐下是没有问题的。附一个window.name的html脚本,大家可以测试一下:
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo:跨域</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function include(path){
var a=document.createElement("script");
a.type = "text/javascript";
a.src=path;
//if (a.readStatus == 200) {
var head=document.getElementsByTagName("head")[0];
head.appendChild(a);
//}
}
include("http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js")
</script>
<script>
$(function(){
function sendData(url, callback){
if(!url || typeof url !== 'string'){
return;
}
url += (url.indexOf('?') > 0 ? '&' : '?') + 'windowname=true';
var frame = $('<iframe style="display:none;"></iframe>').appendTo("body");
var state = 0;
var clear = function(){
try{
frame[0].contentWindow.document.write('');//清空iframe的内容
frame[0].contentWindow.close();//避免iframe内存泄漏
frame.remove();//删除iframe
}catch(e){}
};
var getData = function(){
try{
var data = frame[0].contentWindow.name;
}catch(e){}
clear();
if(callback && typeof callback === 'function'){
callback(data);
}
};
frame.bind('load', function(){
if(state === 1){
getData();
} else if(state === 0){
state = 1;
frame[0].contentWindow.location = "none.html";
}
});
frame[0].src = url;
}
//应用:
var testurl = 'http://www.jb51.cn/test.html';
$("button").click(function(){
sendData( testurl ,function(result){
var fishDiv = $("#oldFish");
fishDiv.html( "你获取的数据是:"+result );
})
})
})
</script>
</head>
<body>
<button>远程加载数据</button>
<div id="oldFish"></div>
<p style="font-size:12px;">Dev By <a href="http://www.jb51.cn" >素材下载</a> & 桦</p>
<p style="font-size:12px;">参考:<a href="https://www.jb51.net" >脚本之家</a></p>
</body>
</html>

相关文章

  • js获取及修改网页背景色和字体色的方法

    js获取及修改网页背景色和字体色的方法

    这篇文章主要介绍了js获取及修改网页背景色和字体色的方法,涉及JavaScript针对页面元素属性的相关操作技巧,需要的朋友可以参考下
    2015-12-12
  • 理解Javascript文件动态加载

    理解Javascript文件动态加载

    这篇文章主要帮助大家理解Javascript文件动态加载,解决了Javascript文件动态加载时出现的错误,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 微信小程序时间控件picker view使用详解

    微信小程序时间控件picker view使用详解

    这篇文章主要介绍了微信小程序时间控件picker view的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 原生微信小程序中封装一个模拟select下拉框组件代码示例

    原生微信小程序中封装一个模拟select下拉框组件代码示例

    这篇文章主要给大家介绍了关于原生微信小程序中封装一个模拟select下拉框组件的相关资料,文中介绍了如何在小程序中创建和使用自定义组件van-select,包括组件的创建步骤和在页面中的应用方法,需要的朋友可以参考下
    2024-11-11
  • JavaScript键盘事件响应顺序详解

    JavaScript键盘事件响应顺序详解

    这篇文章主要为大家详细介绍了JavaScript键盘事件响应顺序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • JavaScript报错:Uncaught TypeError: Cannot set property ‘X‘ of undefine的解决方案

    JavaScript报错:Uncaught TypeError: Cannot set&n

    在 JavaScript 编程中,“Uncaught TypeError: Cannot set property ‘X’ of undefined” 是一种常见的错误,这种错误通常发生在试图给一个未定义的对象的属性赋值时,本文介绍了JavaScript报错的解决方案,需要的朋友可以参考下
    2024-07-07
  • 微信小程序实现简单计算器

    微信小程序实现简单计算器

    这篇文章主要为大家详细介绍了微信小程序写简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • JS获取图片lowsrc属性的方法

    JS获取图片lowsrc属性的方法

    这篇文章主要介绍了JS获取图片lowsrc属性的方法,涉及javascript操作网页图片属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 解决前后端交互数据出现精度丢失的多种方式

    解决前后端交互数据出现精度丢失的多种方式

    这篇文章主要为大家介绍了解决前后端交互数据出现精度丢失的多种方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • ES6知识点整理之函数数组参数的默认值及其解构应用示例

    ES6知识点整理之函数数组参数的默认值及其解构应用示例

    这篇文章主要介绍了ES6知识点整理之函数数组参数的默认值及其解构应用,结合实例形式分析了ES6函数数组参数解构赋值和默认值的设置相关操作技巧,需要的朋友可以参考下
    2019-04-04

最新评论