是这样的,我用window.open打开了一个外部服务器网页,本来呢,参数是scrollbar:true,可是无奈对方的网页代码里比如frame里有scroll="no",这样结果就是没有滚动条,我用FIREBUG测试过了,把那个no改成YES滚动条就出来了。
怎么办呢,跨域的话JS又不能修改那个网页的内容,所以我采取了以下方案。可能我没说清楚,是这样的,我用
var n = window.open();开了一个空的窗口
然后用
n.document.write('Loading...');把其显示的字符设置为loading
然后ajax通过服务器读取外部代理网页的HTML代码,然后把新窗口n的HTML内容全部替换掉。设想是这样,可是实际行驶起来有两个问题。1. 如果对方的引用css和js脚本或者FLASH全部是他们的服务器上的相对路径,怎么办,难道一个一个节点改?我的意思是有没有一种类似于修改location的方法,把窗口的location成对方页面的真实地址,这样相对路径就有效了,同时页面又不会真的去请求那个对方的页面。2. n.document.write('Loading...');把其显示的字符设置为loading了, 但是接下来我用n.document.clear()清除不掉这个内容。而且我发现用n.document.write把全部HTML写进去的话是没用的,跟直接打开那个页面的效果不同,好像document不会重新解析一样,我感觉
就是这两个问题,希望大家能一起讨论一下
怎么办呢,跨域的话JS又不能修改那个网页的内容,所以我采取了以下方案。可能我没说清楚,是这样的,我用
var n = window.open();开了一个空的窗口
然后用
n.document.write('Loading...');把其显示的字符设置为loading
然后ajax通过服务器读取外部代理网页的HTML代码,然后把新窗口n的HTML内容全部替换掉。设想是这样,可是实际行驶起来有两个问题。1. 如果对方的引用css和js脚本或者FLASH全部是他们的服务器上的相对路径,怎么办,难道一个一个节点改?我的意思是有没有一种类似于修改location的方法,把窗口的location成对方页面的真实地址,这样相对路径就有效了,同时页面又不会真的去请求那个对方的页面。2. n.document.write('Loading...');把其显示的字符设置为loading了, 但是接下来我用n.document.clear()清除不掉这个内容。而且我发现用n.document.write把全部HTML写进去的话是没用的,跟直接打开那个页面的效果不同,好像document不会重新解析一样,我感觉
就是这两个问题,希望大家能一起讨论一下
解决方案 »
- 如何用JAVAScript改变s:file的value值
- |zyciis| Js有没有像C#的 decimal.ToString("#.0000"); 这样格式化金额的,谢谢
- 关于EXT不了解的地方
- 奇怪的结果?
- 求一个正则表达式,字符匹配
- 这个正则表达式怎么写啊,老大帮忙啊
- DHTML的书怎么好象在网上和书店里都缺货?谁能推荐一本,最好是DOM对象部分比较详细的。谢谢!
- 前台javascript函数中如何写调用后台C#函数?格式如何?多谢!
- 21cn 邮箱 发邮件附件的实现??
- 急急急!!!我想取某一坐标的颜色值,js有办法么
- 如何获取按下回车键时候,所在输入框的id以及name属性值啊?
- 大家给个思路啊!!!
第二个问题,n.document.close()来关闭已打开的文档(document.clear()不建议使用),然后再n.document.write即可
第一个问题,只有改,location的改变会载入相应的页面
第二个问题,n.document.close()来关闭已打开的文档(document.clear()不建议使用),然后再n.document.write即可
好家伙!