防止Fancybox中的JavaScript

防止Fancybox中的JavaScript,javascript,fancybox,Javascript,Fancybox,搜索“在Fancybox中阻止JavaScript”的大多数结果都会导致人们哀叹Fancybox中JavaScript功能的访问受到限制。我的问题恰恰相反 我的程序是存储网页以备日后显示(这是针对那些会随时间变化的内容——想想没有永久链接的新闻故事)。然后,用户可以在这些故事的内容中搜索特定的关键字(我现在使用SQLite的FTS对去掉html的内容进行全文搜索)。如果存在匹配项,将显示一个片段,并提供一个链接,允许在Fancybox弹出窗口中查看存储的故事 问题是,当从数据库中检索存储的故事并

搜索“在Fancybox中阻止JavaScript”的大多数结果都会导致人们哀叹Fancybox中JavaScript功能的访问受到限制。我的问题恰恰相反

我的程序是存储网页以备日后显示(这是针对那些会随时间变化的内容——想想没有永久链接的新闻故事)。然后,用户可以在这些故事的内容中搜索特定的关键字(我现在使用SQLite的FTS对去掉html的内容进行全文搜索)。如果存在匹配项,将显示一个片段,并提供一个链接,允许在Fancybox弹出窗口中查看存储的故事

问题是,当从数据库中检索存储的故事并通过Fancybox中的ajax查看时,其嵌入的JavaScript会尝试插入,或者调整页面大小,或者尝试打开弹出窗口,等等


有两个问题——第一,我能阻止任何JavaScript在Fancybox窗口中启动吗?第二,有没有更好、更优雅的方法来实现这一点?一种方法可能是将网页转换为PDF,然后存储该PDF。但这是更复杂的,它将打破长话短说。我们希望能够查看历史故事,即使就外观而言,它不是真实的原创故事。

您可以从去掉
标签(当然是在服务器上)开始。

格式显示内容,最好从不同的域提供服务,以便浏览器强制执行相同的源安全策略。页面上的脚本仍将运行(这可能是一件好事——也许其中一些页面的某些功能依赖于脚本),但您的包含页面将不会受到这些脚本的任何干扰

$.fancybox({
    href: '//content.example.com/id/nnnnn/',
    type: 'iframe'
});