對Chrome瀏覽器做了一個小小的「url2hostname」擴展,它爲我節省了1.42秒的URL點擊和重命名每次我打開本地HTML文件在鉻。爲了一致性和重複性,我會寫下來。
我有一個爲dropbox目錄設置的虛擬主機。因此,在的httpd-vhosts.conf:
<VirtualHost *>
DocumentRoot "C:\Users\hns\Dropbox\Webb"
ServerName localhost
<Directory "C:\Users\hns\Dropbox\Webb>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory> </VirtualHost>
所以"C:\Users\hns\Dropbox\Webb"
就是我一直很多,我只是想在本地測試(他們必須被Apache服務正常工作)的網頁。當我用chrome打開它們時,URL會被搞亂,比如"file:///C:/Users/hns/Dropbox/Webb/f/index.html"
。因此,在這種情況下,我必須選擇"file:///C:/Users/hns/Dropbox/Webb"
-部分url並將其重命名爲servername,以便它變爲:"http://locahost/f/index.html"
。
當我打開一個本地HTML文件,然後單擊瀏覽器擴展程序,它只是將替換URL路徑和協議,並進入所產生的URL(然後加載正確的)所以:
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.query({'active': true, 'currentWindow': true}, function (tabs) {
var currentURL = tabs[0].url;
newURL = currentURL.replace("file:///C:/Users/hns/Dropbox/Webb", "http://localhost");
chrome.tabs.update(tabs[0].id, {url: newURL});
})
});
嘿,至少我學到了一些東西:)
編輯:
真正的問題是不是Apache的,但Chrome和交叉產地:
由於「相同來源策略」,有時候網站內容無法在本地正確顯示。所以在我的情況下,問題可能已經解決,只需通過從具有–allow-file-access-from-files
或 –disable-web-security
等標誌的快捷方式啓動Chrome即可關閉該策略。
的URL不會自動成爲'文件:// ...'如果你通過'HTTP訪問本地頁面:// localhost'。沒有規則會導致這種轉換。什麼確切的鏈接看起來像?它可能是鏈接本身指向'file:///'? – 2013-05-04 18:03:29
感謝Pekka,你救了我從鉻中搜尋規則:)我的解決方案發布在下面。 – kaffetermos 2013-05-07 20:52:47