javascript代码的浏览器兼容问题

各位 老大,我遇到一个在谷歌和360上不执行但在ie和火狐上可以运行的代码,a.html 如下

<script type="text/javascript">
var newwindow="";
function test(){
//open函数本身就会返回子窗口的引用
newwindow=window.open("b.html");

}
function test2(){
//取出用户希望发送给子窗口的信息
var my_text=document.getElementById("myinfo");
//newwindow.document 实际上b.html页面的文档
var chlid_text=newwindow.document.getElementById("myinfo");
chlid_text.value=my_text.value;
}
</script>

<input onclick="test();" type="button" value="开新窗口"/>

<input type="text" id="myinfo" />
<input type="button" onclick="test2()" value="发送给子窗口"/>

b.html如下:

<script type="text/javascript">

function send(){

var chlid_text=document.getElementById("myinfo2");
//opener表示该页面的父窗口
opener.document.getElementById(*myinfo*).value=chlid_text.value;
}
</script>
<h1>我是b.html页面</h1>
<input type="text" id="myinfo"/>
<input type="text" id="myinfo2"/>
<input type="button" value="送给父窗口" onclick="send()"/>

在a.html中点击开新窗口后,弹出b.html,然后在父窗口输入文字子窗口能够显示,子窗口输入文字父窗口也显示,但是谷歌和360上另一个窗口是接不到的,是不是有的属性已经不用了呢,我的ie是11的,火狐33

1;说一下我个人的经验吧。
2;我做网页的时候测试我是用火狐(FF),因为FF的插件比较多,相对方便一点,在FF下面让网页是正常的效果。
3;全部完成后在用谷歌,IE9,8,7,6,360等浏览器测试。
4;基本上时间长了,发现,FF下面正常基本上谷歌,360,IE9,8下面就没有太大的问题。
5;但是这个时候IE6,7下就要看有没有问题了,有的话这个时候也不要着急,看到底是自己的代码哪里出了问题,一点点检查,如果发现了问题,但是需要改动很大,这个时候就可以用针对IE6,7的hack来解决。
6;带星号(*)的代码是IE6,7都可以识别的,带下划线(_)的代码是只有IE6可以识别的,这个时候针对他们写具体的代码。
7;至于JS的话说一万字估计都说不完。。。
8;总结一句话:多练习,多思考,多研究,看人家怎么写的,然后自己尝试写下,慢慢的自然就懂了。
----------------------------------------------------
切合自身的看法,纯手打,希望你会满意!
----------------------------------------------------
不需要,会HTML+CSS+JS+PS,FLASH会更好,一般不是太要求的,至于你说的什么flash游戏,那有点远了,现在基本上flash用的都很少,基本的效果JS或者JQ就可以实现。
这样可以么?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-15

    首先你的代码

    opener.document.getElementById(*myinfo*).value=chlid_text.value;
    不是引号,有两个星星。

    你的代码放到服务器上就可以运行了。本地 file:/// 协议,对于某些浏览器来说算是跨域访问,只能获得 子窗口或父窗口的 window 对象,但不能它进行任何 GET 或 SET 操作。

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网