一些url没有在iframe中打开
some urls are not opening in iframe
所以问题很简单,但我找不到解决方案。我正在创建一个投资组合插件,并试图在iframe中打开项目以显示响应布局,但问题是一些URL没有在iframe中打开,当我在ifame中点击这些URL时,什么都没有显示。这是JS fiddle
<a href="https://www.searchforenergy.com" target="myIframe">iframe2</a>
<iframe src="" name = "myIframe"></iframe>
我想用jquery检查它是否能够在iframe中打开,然后确定,否则链接将在新选项卡中打开。
问题是由同源策略引起的。要解决这个问题,您可以在响应中添加一个允许跨来源资源共享的标头。
在apache中,您可以通过在httpd.conf
或任何.htaccess
文件中添加以下行来完成此操作
Header set Access-Control-Allow-Origin "*"
源
此问题是由于跨来源请求被阻止:同源策略不允许读取https://www.searchforenergy.com/.这可以通过将资源移动到同一域或启用CORS来解决。
X-Frame-Options拒绝加载:https://www.searchforenergy.com/不允许交叉原点框架。
您可以使用jquery ajax错误来检查url是否可以使用javascript访问或不使用访问
$.ajax({
url: "https://www.searchforenergy.com",
dataType:'html',
success: callback = function(data, textStatus, xhr)
{
console.log(data)
},
error: callback = function(data, textStatus, xhr)
{
console.log(data)
}
});
阅读charlietfl 的评论后的新解决方案
HTML
<a id="btn" href="#">iframe2</a>
<iframe src="" id = "myIframe" onload="loadFrame(this)"></iframe>
Javascript
function loadFrame(frame) {
if (!frame.contentDocument) {
// code to open in tab
}
}
$(document).ready(function(){
$('#btn').click(function(){
$('#myIframe').attr('src', 'https://www.searchforenergy.com')
});
});
相关文章:
- iFrame url更改时执行函数
- 嵌入iframe URL以在wordpress中包含当前用户id
- iframe url在浏览器上打开
- 正在确定外部源帧的Iframe URL
- iFrame URL参数到Wordpress中的
- 如果可能的话,刷新后保留iframe url
- 传递数据 id 以引导模式并使用它 iframe url
- 从 iFrame 中每个页面上的 iFrame URL 获取数据
- 如何在javascript var中获取当前的iframe url
- 将 iframe URL 更改为另一个协议会重新加载页面,但在从计时器触发时不会
- 当iframe url更改时,如何更改包装器
- 基于用户输入替换iFrame URL的一部分
- 检查IFRAME URL并重新加载(如果找到)-Javascript
- jQuery加载带有转义字符的本地iframe url,用于disqus注释
- iframe url更改时发出警报
- 防止浏览器在重新加载父级时保留iframe url
- 使用jQuery修改iframe URL
- 通过php或js或jquery获取浏览器url而不是iframe url
- 改变iframe url会改变父窗口的url
- 可以使网页URL相同的iFrame URL