互联网观察 网站建设 网站运营 网络创业 电子商务 建站软件 建站软件教程 网站开发 网页制作 收藏本站
建站常识 | 域名 | 主机 | 网上开店 | 搜索引擎优化 | 网站推广 | 网络赚钱 | 站长经验 | 个人建站 | 网站设计 | 网页特效 | wap网站

解决跨站点XMLHttp请求的一个变通方法

用户在打了IE的最新补丁后,IE默认配置下,使用 XMLHttp 将无法跨站点访问,比如在 http://community.csdn.net/ 的页面就无法访问 http://message.csdn.net/ 的页面。会报如下错误:

---------------------------
错误
---------------------------
出现了运行时间错误。
是否要进行调试?

行: 49
错误: 拒绝访问。
---------------------------
是(Y)   否(N)   
---------------------------

解决方法之一:
原理,使用下面的方式调用脚本,是可以跨网站的:
<script id=message language=javascript src="******************"></script>

于是乎,我们可以用下面的代码方式实现跨网站的脚本调用。进而变通的实现 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  默认设置下均没问题。




上一篇:Web标准学习:Xhtml标准中弹出新窗口
下一篇:关于网页字体大小的问题
相关分类
网页制作 (4121)
  html教程 (591)
  css教程 (546)
  Dreamweaver教程 (1006)
  JavaScript教程 (834)
  网页制作技巧 (378)
  网页特效 (766)
 




   版权所有 Copyright© 2006 黑马建站宝典 联系方式:heima123#gmail.com