簡體   English   中英

使用jQuery從絕對路徑的外部文件加載HTML

[英]Use jQuery to load HTML from external file at absolute path

我正在嘗試將外部HTML文件的內容加載到當前的HTML模板中。

我遇到的問題是我要加載的內容不是本地的,並且不在URL上。 該文件位於連接到VPN時可以訪問的中央存儲目錄中。 換句話說,如果我所有的本地文件都在/Users/username/... ,則此文件位於/central_directory/absolute/path/to/file.html

我可以從終端在/central_directory/absolute/path/to/file.html或從瀏覽器中訪問file:///central_directory/absolute/path/to/file.html

但是,當我嘗試使用jQuery .load()函數加載文件時,出現404未找到錯誤:

找不到:/central_directory/absolute/path/to/file.html

[15 / Jul / 2018 19:04:22]“ GET /central_directory/absolute/path/to/file.html HTTP / 1.1” 404 2257

我的猜測是它沒有在正確的位置查找文件(例如,它正在查找http://mywebsite/central_directory/absolute/path/to/file.html ),但是我不知道這是否准確猜測,或如何測試。


碼:

這是jQuery腳本,位於我當前模板的head

<script>
    $(function(){
        var filename = "file:///central_directory/absolute/path/to/file.html"
        $("#includedContent").load(filename);
    });
</script>

以及模板中的HTML:

<div id="includedContent"></div>

很簡單吧?

我還嘗試了其他語法,發生了相同的404錯誤。

問題是.load() 需要 javascript的HTTP連接(因此是GETPOST請求)。

這是由於您無法以與瀏覽器或終端中的file://路徑相同的方式加載javascript資源的事實(這是“幸運的”,因為它阻止任何人訪問您計算機上的任何文件),這是一個幸運的結果。 。

解決此問題的唯一真正方法是通過Web服務器將本地文件代理到瀏覽器(因此您需要控制服務器的實現)。 如果您有一個現有的Web服務器堆棧(如PHPNode.jsRuby等),則很可能會這樣做,但最終取決於它是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM