2011-05-26 107 views
2

大多數搜索「在Fancybox內部禁止JavaScript」的結果都讓人感嘆Fancybox內對JavaScript功能的訪問受到限制。我的問題恰恰相反。防止Fancybox內部的JavaScript

我的程序正在存儲來自網頁的頁面供以後顯示(這適用於隨時間而改變的內容 - 思考沒有固定鏈接的新聞報道)。然後,用戶可以在這些故事的內容中搜索特定的關鍵字(我現在使用SQLite的FTS進行全文搜索,對照html的內容)。如果匹配,則會顯示一個片段,並提供一個鏈接,允許在Fancybox彈出窗口中查看存儲的故事。

的問題是,當存儲的故事是從數據庫中檢索,並通過在阿賈克斯的fancybox看,其嵌入的JavaScript試圖插嘴,或許調整頁面大小,或試圖打開彈出式窗口等

兩個問題 - 我能阻止任何JavaScript在Fancybox窗口內被觸發嗎?二,是否有更好,更優雅的方式來完成這一點?一種方法可能是將網頁轉換爲PDF,然後存儲該PDF。但是這更復雜,而且會因爲長篇故事而被打破。我們希望能夠查看歷史故事,即使它不是真正的保真度,只要看起來很關注。

回答

2

你可以先剝去<script>標籤(當然是在服務器上)。

0

在中顯示內容,最好由不同的域提供服務,以便瀏覽器執行相同來源的安全策略。頁面上的腳本仍然會運行(這可能是一件好事–也許這些頁面中的某些頁面依賴於腳本的某些功能),但是包含的頁面可以安全地避免這些腳本的干擾。

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