我有一个带有iFrame的页面。这个iFrame有一些通过jQuery的 AJAX 服务器通信。在我的iFrame中,我有几个链接,它们应该在一个新的标签页或点击弹出窗口中打开。这对于静态链接来说非常好用,因为我有一个固定的URL。这些链接看起来像这样:
<a href="https://www.google.com" target="_blank" rel="noopener noreferrer">Google Test</a>
正如我提到的,这个链接工作得非常好。但是,我有另一个链接,它的URL是根据服务器查询的反馈分配的。这个链接看起来像这样:
<a href="#" id="documentLink" rel="noopener noreferrer" target="_blank">
<img alt="PDF" src="../images/icons/icon_pdf.svg" style="width:30px;height:30px;margin-right:15px;">
<span>View Report</span>
</a>
在我的Javascript中,我使用以下代码来设置URL:
$( '#documentLink' ).attr('href',data.documentLinkClickable);
当我点击这个链接时,会打开一个新的标签页,但Chrome告诉我“my_domain is blocked”。这个页面已经被Chrome阻止了。ERR_BLOCKED_BY_CLIENT。当我从标签页复制URL并在另一个私人标签页中输入时,页面打开得很好。
我也尝试过在弹出窗口中打开链接。弹出窗口打开了,但我得到的反馈是页面被阻止了。代码如下:
$( '#documentLink' ).attr('onclick','javascript:window.open("'+data.documentLinkClickable+'","_blank","toolbar=0, location=0, menubar=0, height=800, width=1200"); return false;');
我想知道为什么这个链接对静态链接有效,但当我通过jQuery分配URL时却无效。
顺便说一句:我的iFrame头看起来像这样:
<iframe id="25_IFrame2" class="iframe" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads" src="https://my_domain/my_page?my_parameter" scrolling="yes" style="width: 1903px; height: 489px;"></iframe>
1条答案
按热度按时间0pizxfdo1#
经过一些额外的研究,我能够修复我的问题。我必须添加一个额外的津贴到沙箱的iFrame这是
有趣的是,这适用于将链接作为弹出窗口打开以及在新标签页中打开。
顺便说一句:Firefox似乎不需要这个标志,因为它以前已经在Firefox中工作过了。