簡體   English   中英

相對於root的Javascript列表文件

[英]Javascript list files relative to root

這適用於離線應用程序。

html ,我們可以訪問相對於html頁面的文件。 例如:

  • <script src="scripts/jquery-3.3.1.min.js"></script>
  • <link rel='stylesheet' href='styles/style.css'>
  • <img src='./images/file1.jpg'/>

如果我在/images目錄中有很多圖像,有沒有辦法使用Javascript列出目錄中的所有圖像,或者我需要硬編碼圖像名稱?

我要求專門使用Javascript和沒有Node,直接從Chrome運行文件。

通常,客戶端無權訪問服務器的目錄樹。 這意味着任何客戶端javascript都無法列出目錄樹。

如果沒有索引文件,您可以配置apache列出文件樹,但通常不贊成。

如果您(違反我的建議)想要這樣做,您可以配置apache列出文件,然后使用JavaScript獲取文件列表。

更好的方法是使用服務器端代碼(Node.js Server,PHP等),它可以訪問文件系統並可以提供文件列表。

僅本地應用程序

Javascript通常無法訪問本地資源,並且在嘗試獲取普通資源時會拋出CORS錯誤。 (無論你是否在本地目錄中,都會拋出CORS錯誤。)這使得沒有網絡服務器這幾乎是不可能的。

嘗試運行chrome.exe --allow-file-access-from-files

通過運行上面的命令行,它將使用以下命令啟用http調用:

$.get("file:///url", function(data) {})

請注意,數據正在返回字符串。 如果你將它附加到你的HTML中,它將顯示該目錄

手動編碼,除非您使用Web服務器(您不需要安裝Web服務器,有許多工具可以為單個目錄提供服務,例如PHPPython內置服務器)。

編碼是:您無法從javascript訪問本地文件系統,但如果您在導航欄中鍵入( file:// )url或按照指向它的鏈接,您的瀏覽器就可以。

如果是鏈接,瀏覽器會拒絕遠程頁面(來自Web服務器),而不是來自本地文件(否則您無法看到網頁的下載版本)。

我從來沒有測試過絕對路徑但是(我認為)如果你對該目錄有權限它應該可以工作。

如果沒有,則存在瀏覽器擴展,例如用於Firefox的瀏覽器擴展,允許打開該鏈接(如果用戶接受它)。

問題是,正如我所說,你需要手動將鏈接放在頁面中,如果有這么多,可能需要一些時間,除非你習慣了像Vim這樣的真正的編輯,或者至少,你能夠使用您喜歡的任何編程語言生成它。

暫無
暫無

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

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