跳转后显示“此页面已被 Chrome 屏蔽”怎么实现该功能,求解
pdf文件为线上获取,非本地文件
【以下回答由 GPT 生成】
问题解答:
首先,要解决这个问题,我们需要明白为什么Chrome会屏蔽跳转后的页面。这是因为现代浏览器对于跨域访问的安全性有限制,当你在iframe中加载一个来自不同域的页面时,浏览器会尝试阻止你的操作,以防止可能的安全风险。
为了解决这个问题,我们可以使用一个间接的方法来实现打开新页面预览pdf的功能。具体步骤如下:
html <a href="" target="_blank" id="pdfLink">打开预览页面</a>
```javascript $('#pdfLink').click(function(e) { e.preventDefault(); // 阻止a标签默认的跳转行为
// 生成一个包含pdf链接的URL
var pdfUrl = 'http://example.com/pdf-file.pdf';
// 更新a标签的href属性
$(this).attr('href', pdfUrl);
// 模拟点击事件打开预览页面
window.open(pdfUrl, '_blank');
}); ```
在这段代码中,我们使用了preventDefault
方法来阻止a标签默认的跳转行为。然后,我们生成一个包含pdf链接的URL,并将它更新到a标签的href属性上。最后,使用window.open
方法来模拟点击预览页面的操作。
html <embed src="http://example.com/pdf-file.pdf" width="100%" height="100%"/>
在这个示例中,我们使用embed
标签来加载pdf文件。你可以根据实际需求使用其他的标签或库来实现加载pdf的功能。
这样,当用户在iframe中点击打开新页面的链接时,浏览器会打开一个新的页面,并加载pdf文件。
请注意,这种方法只能在你有权限访问pdf文件的情况下才有效。如果pdf文件来自不同的域,你可能需要通过服务器代理或跨域请求来获取pdf文件。
希望这个解决方案能够帮助到你!如果你还有任何问题,请随时向我提问。
【相关推荐】