上下文:
基本上,我附上了一個小的HTML幫助文檔去與我的程序(不意味着在服務器上,本地查看)。 HTML只是因爲我在製作文檔時感到非常自在,但我也希望它具有一些我不能在PDF或其他內容中實現的交互/動態內容。動態加載本地HTML頁面上的內容
當您點擊一個鏈接而不是讓每個頁面都需要它自己的HTML頁面時,我會動態替換內容,這只是我習慣於這樣做的事情,我可以更改菜單和橫幅以及其他任何內容一個單獨的'main'html文件,無需爲共享內容中的一個微小更改而調整每個其他html文件。
當前方法:
現在它都是通過JavaScript和jQuery完成的。當用戶點擊一個鏈接時,我使用jQuery的load()函數加載適當的內容(一個html文件),並用加載的html文件中的內容替換內容div。目前只使用相對鏈接。例如。核心功能是類似下面的東西:
$("#ContentBox").load("content/faq.html");
這實際工作在幾個星期前,當我第一次寫的。這並不像我構建整個事物,直到現在纔對其核心概念進行測試。但現在看來所有的瀏覽器都在阻止它。 Chrome的說:
XMLHttpRequest cannot load file:///C:/[....]/content/home.html. Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource. `
問:
所以我理解爲什麼它的發生,因爲它是一個潛在的安全風險,以允許,我只是想弄清楚它周圍的一個很好的方式,還是我想要做什麼(如果這是可能的)。我的意思是我可以將所有內容預加載爲javascript文件中的大字符串變量,或者作爲隱藏的div打開和關閉,但我希望更優雅一些。
我不能指望我的程序的所有用戶都設置本地Web服務器來查看幫助文檔。
我已經考慮過File和FileReader類,但它們需要用戶輸入很多功能。還有iFrames,但它引入了各種奇怪的東西,需要考慮,我討厭iFrames。
如何[當前答案](http://stackoverflow.com/questions/10752055/cross-origin-requests-are-only-supported-for-http-error-but-im-loading-a-co)不幫你? – Jonast92 2014-11-05 22:38:16
這就像你沒有讀過我的問題。所有的解決方案都能正常工作,但對於普通用戶只需打開幫助文檔無法預期。安裝網絡服務器,向chrome添加參數,python .. – wowohweewah 2014-11-05 22:41:34
如果您已經知道這些問題,那麼這個問題本身就太寬泛了。沒有人能告訴你最好的方法是什麼。服務器託管便宜 – charlietfl 2014-11-05 22:54:30