最近在学习php,上课老师会给代码(虽然很鄙视这种,就像当初学习vb,语法都不知道怎么可能学习实际应用,而PHP又是这种内置函数茫茫多的语言。但是也许老师也没有办法,课时本来就少,可能他是为了大部分人考虑吧)吐槽完毕。但是不得不说给了代码以后,自己的工作量确实少了很多。上课时在机房上课的,用的是IE浏览器,程序都是可以跑起来的。但是我把程序拷回自己的电脑(默认的chrom浏览器),试了以后发现页面没有达到理想的效果,利用开发者工具,发现时window.location.href is not a function错误,而在这个页面中确实有一句是页面跳转的echo "<script language=javascript>location.href('book_add.php');</script>";(这里不得不说下PHP这点的强大了,想在哪里执行js就在哪里echo一个就OK了,好强大的感觉)。然后我又用了FF浏览器,报的是和chrom同样的错误。于是就上网查了一些资料。发现如下结论:
window.location.href('url'); 只能在IE下执行
window.location.href = "url"; 在IE,FF,IE下都可以
也就是说window.location.href('url');这种方式有浏览器兼容问题咯。仔细一看这个写法确实很古怪,由于本人js没有很系统的学习,所以又去查了一下资料。window对象是客户端javascript最高层对象之一,location是他的一个属性。而location是地址对象,它描述的是某一个窗口对象所打开的地址,location也是一个对象,而href 是它的一个属性。这样的话按照window.location.href('url');这句来看,href就变成了location的方法了。为什么还能运行出来,实在很令人费解。。。