用户在打了IE的最新补丁后,IE默认配置下,使用 XMLHttp 将无法跨站点访问,比如在 http://community.csdn.net/ 的页面就无法访问 http://message.csdn.net/ 的页面。会报如下错误: --------------------------- 错误 --------------------------- 出现了运行时间错误。 是否要进行调试? 行: 49 错误: 拒绝访问。 --------------------------- 是(Y) 否(N) --------------------------- 解决方法之一: 原理,使用下面的方式调用脚本,是可以跨网站的: 于是乎,我们可以用下面的代码方式实现跨网站的脚本调用。进而变通的实现 XMLHttp 所无法跨网站的调用。 var Url = "http://message.csdn.net/ ********": var ScriptName = "CheckUserHasNewMessage"; var head= document.getElementsByTagName("head").item(0); var old = document.getElementById(ScriptName); if (old) head.removeChild(old); var script = document.createElement("SCRIPT"); script.src = Url; script.defer = true; script.type = "text/javascript"; script.id = ScriptName; head.appendChild(script); 这个脚本要求被调用方,返回的是 JS 脚本。你可以在调用方事先写一些函数,然后被调用返回这些函数的调用。 以上方法在最前版本的 IE、FireFox 默认设置下均没问题。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 09:37 , Processed in 0.200348 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.