Javascript 在布局顶部保留一个自定义div,同时允许用户浏览网站 #ontop{ 位置:绝对位置; 宽度:100%; 身高:10%; 排名:0; 底部:90%; 背景颜色:黄色; } #内容{ 位置:绝对位置; 宽度:100%; 身高:90%; 排名前10%; 底部:0; 边界:0; }
鉴于上述CSS,是否可以在Javascript 在布局顶部保留一个自定义div,同时允许用户浏览网站 #ontop{ 位置:绝对位置; 宽度:100%; 身高:10%; 排名:0; 底部:90%; 背景颜色:黄色; } #内容{ 位置:绝对位置; 宽度:100%; 身高:90%; 排名前10%; 底部:0; 边界:0; },javascript,html,css,ajax,iframe,Javascript,Html,Css,Ajax,Iframe,鉴于上述CSS,是否可以在#contentDOM元素中加载外部网站,以允许用户浏览?然后,#ontop元素将能够为当前加载的网站提供一些附加功能 iframe的行为通常与我想要的类似: 始终在顶部 不过,出于安全目的,一些网站(如堆栈溢出)避免在iframe中访问其内容 始终在顶部 上面的代码段将不会加载网站内容,同时引发以下错误:拒绝显示文档,因为X-Frame-Options禁止显示 然后,我尝试使用AJAX满足我的需求(请参阅使用jQuery允许跨域AJAX请求): $(函数()
#content
DOM元素中加载外部网站,以允许用户浏览?然后,#ontop
元素将能够为当前加载的网站提供一些附加功能
iframe
的行为通常与我想要的类似:
始终在顶部
不过,出于安全目的,一些网站(如堆栈溢出)避免在iframe
中访问其内容
始终在顶部
上面的代码段将不会加载网站内容,同时引发以下错误:拒绝显示文档,因为X-Frame-Options禁止显示
然后,我尝试使用AJAX满足我的需求(请参阅使用jQuery允许跨域AJAX请求):
$(函数(){
$.ajax({
网址:'http://www.stackoverflow.com/',
键入:“GET”,
成功:功能(数据){
$(“#content”).html(data.responseText);
}
});
});
永远在最上面
这几乎是可行的,因为出现了两个问题:
最后,我尝试将前两种解决方案结合起来:
$(函数(){
$.ajax({
网址:'http://www.stackoverflow.com/',
键入:“GET”,
成功:功能(数据){
$(“#content”).contents().find('body').append(data.responseText);
}
});
});
永远在最上面
这稍微好一点:
怎样才能达到我的目标?无论是管理这些相对URL的解决方案,还是完全不同的仍然适合我的需要的解决方案,都会受到欢迎
由于JSFIDLE的功能不足以处理如此复杂的异步请求,下面是我提供的三次尝试的源代码:
- 使用
:iframe
- 使用AJAX:
- 同时使用:
另外,如果您想在开发FF扩展之前先对其进行一点原型化,那么请研究一下,这是一个基本上可以让您编写轻量级版本的扩展代码的扩展,而不必担心相关的打包问题。看起来您已经发现了为什么在web上很难做到这一点,部分故意为了防止人们恶意将其网站加载到另一个网站 考虑到这一点,如果我处在你的位置,我会研究编写浏览器扩展(,),或者一个浏览器扩展,所有这些都保留了站点的功能,同时将JavaScript注入到页面中,以解决你遇到的权限问题 bookmarklet的优点是,它应该是工作量最少、跨浏览器最多的解决方案,但代价是功耗和灵活性。如果你想拥有像浏览器的一部分一样的界面,并且不需要用户在适当的时候激活bookmarklet,那么就考虑一个扩展,特别是当你的目标用户是Chrome/FF用户时 请注意,如果您必须拥有IE用户,那么为IE开发扩展不是非常友好的,尽管肯定是可行的
另外,如果您想在开发FF扩展之前对其进行一点原型化,请查看,一个扩展,它本质上允许您编写一个轻量级的扩展代码版本,而不必担心相关的打包。很长时间我没有看到一个精心设计的问题/情况。很长时间我没有看到一个精心设计的问题/情况。