在服务器端主目录下有一个html文件(假设为x.htm) 当用户打开指定网页的时候 我希望网页中的javascript可以打开x.htm并读取里面的内容 让后用x里的x.htm里的源码替换网页中的一个模板层 这样就可以让x.htm随时更新 其他的网页也可以随之更新内容
当现在的问题是怎么加载这个x.htm文件? 有多个浏览器都支持的方法吗

解决方案 »

  1.   

    都支持,用xmlHttpRequest来读取,但是要注意原页面如果和x.htm页面不在一个服务器会有麻烦,x.htm有中文可能会出现乱码
    试验一下咯
      

  2.   

    使用ajax可以实现把   就是一个读文件问题
      

  3.   

    还要注意一个问题,如果x.htm一辈子都用"x.htm"这个名字,那你要考虑缓存的问题,或改为不被缓存的asp、jsp,或访问的时候用一个随机字符欺骗浏览器,比如访问"x.htm?r=113124.23",r=的数字每次换一个就可以了
      

  4.   

    典型的用ajax(xmlHttpRequest)就可以了,xmlHttpRequest的url 就是x.htm的url, responseText就是x.htm的内容。
    如果用prototype.js,大致如下:<html>
    <!--注意包含prototype.js-->
    <script language="javascript" src="prototype.js"></script><body>
    <div id='mydiv'></div>
    </body>
    <script>
    var url = '项目根目录/somepath/x.htm';
    new Ajax.Request(url, {
    method: 'get',
    onSuccess: function(transport){
        //transport.responseText就是x.htm的内容,
        //比如把这个内容放到一个div里面:
        $('mydiv').innerHTML = transport.responseText;
    }
    </script>
    </html>
      

  5.   

    用个iframe框架也可以,不用这么麻烦。
      

  6.   

    ajax没学过 不会用啊
    prototype.js文件太大了 有一百多kb 而且发现我没办法套用你的代码(对ajax完全不了解)用iframe框架 效果不好我倒是自己想了个解决的办法
    创建一个x.js文件 把x.htm得所有源码 复制到x.js文件下的一个全局变量里(设为var template_str)
    那么其他页面链接这个js文件 再用template_str就可以达到目的了