我正在和我的客户一起做一个项目,我想在浏览器的单个页面上打开多个网站,为此我使用了这个目的,iframe
但是我在 openerp 框架中被卡住了。在iframe
我也设置了 openerp 屏幕,但问题是当我创建一个客户时,一旦它到达创建时间,向导就没有打开。
一些代码在这里:
<iframe src="http://localhost:8069" name="mainFrame" >
我想知道一个替代方案<iframe>
我正在和我的客户一起做一个项目,我想在浏览器的单个页面上打开多个网站,为此我使用了这个目的,iframe
但是我在 openerp 框架中被卡住了。在iframe
我也设置了 openerp 屏幕,但问题是当我创建一个客户时,一旦它到达创建时间,向导就没有打开。
一些代码在这里:
<iframe src="http://localhost:8069" name="mainFrame" >
我想知道一个替代方案<iframe>
出于安全原因,在浏览器中通过 javascript 访问多个网站的能力受到严重限制。我将把这种通过 javascript 显示其他网页的想法称为iframe 模仿器。对于这个应用程序,我会设置三类网站:
Access-Control-Allow-Origin: "host site name here"
以允许主机站点的访问或Access-Control-Allow-Origin: *
允许每个站点的访问。Access-Control-Allow-Origin
标题设置为*
,否则您需要说服站点的管理员例外并允许您的站点访问。如果以上条件都不能满足,那么您将受到用户浏览器安全的摆布。有些浏览器支持CORS(跨源资源共享),但并不可靠。通常,用户的浏览器会阻止对某些标头的访问(出于安全原因),但如果浏览器提供支持(或安全性足够松散),则可以设置标头以欺骗其他网站让您访问。请注意(如果允许)有些人可能会考虑这种边缘黑客行为,并且未经所有相关方的许可可能不应该使用它。
$(document).ready(function() {
var target_domain = "www.web-source.net";
var protocol = "http://";
var path = ""; //e.g. "/index.html"
var target_host = protocol + target_domain;
var target_URI = target_host + path;
var method = "GET";
$.ajax({
url: target_URI,
type: method,
headers: {
"X-Requested-With": "", //nullifies the default AJAX value of "XMLHttpRequest"
"Origin": target_host, //lies to the target server
"Referer": target_host, //lies to the target server
"X-Http-Method-Override": method, //forces the specified method
},
crossDomain: "true" //applies cross domain settings
});
});
$(document).ajaxSuccess(function() {
$("#iframe_imitator").html(xhr.responseText);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="iframe_imitator"></div>
我在这篇文章中找到了这个 - 可能值得一试
<object data="http://www.web-source.net" width="600" height="400">
<embed src="http://www.web-source.net" width="600" height="400">
Error: Embedded data could not be displayed.
</object>
我认为你可以使用jQuery 加载:
<div id="divId"></div>
<script type='text/javascript'>
$(document).ready(function (){
$('#divId').load(URL of target);
});
</script>
You can use Ajax or jQuery as an alternative to iframe. I feel jQuery would be much simpler. You can implement it simply as:
$('#SampleElement').load('YourURL');
Here, SampleElement is the ID of the given element.