2011-06-10 66 views
0

我有一個srcURL變量,獲取形式/myFolder/myFile.jpg執行HTTP使用JavaScript

現在這個被分配到IMG element..which顯然將與完整路徑把它的路徑https://mySite.com/myFolder/myFile.jpg

現在我不知想了HTTPS被替換/與使用Javascript HTTP執行..

我不知道我是否可以用「替換()」方法做到這一點,因爲我只得到了路徑「/ MyFolder文件/myFile.jpg「在srcURL變量中,而不是https ..

我該怎麼做?

+0

它從哪裏來的? – 2011-06-10 13:07:32

+0

嗯..我不是1005肯定的...但是有一個函數函數AudioData(section,url) \t this.section = section; \t this.url = url; } – testndtv 2011-06-10 13:12:06

+1

在IE中不混合「https」和「http」元素會導致「不安全元素」錯誤? – 2011-06-10 13:19:20

回答

3

您正在使用相對路徑。設置URL的src時,您需要使用顯式路徑。

srcURL = '/myFolder/myFile.jpg'; 
srcURL = 'http://' + window.location.host + srcURL; 

// srcURL == 'http://<yourdomainname>/myFolder/myFile.jpg' 

注:你可能會得到一個警告消息說你的頁面的某些部分可能是不安全的。

+0

你好...你似乎已經擊中了頭部..完美..我唯一的問題是,如果這確實是一個很好的做法..在我的情況下,我無法通過https..so訪問資源如果這不是一個好的做法或存在一定的風險,我可以考慮沿着差異線。 – testndtv 2011-06-10 16:56:03

+0

我相信這取決於圖像的內容是什麼。所有的HTTPS都是通過HTTP添加一個SSL加密層,這並不是那麼安全。基本上,就像把你的貸款申請書放在你的桌子上,將你的社會安全號和私人信息暴露出來,然後放在一個信封裏,以便那些在他們經過時可能看到的人不會。這並不能阻止那些想看到它的人,因爲他們所要做的就是打開信封。不過,圖像是壓縮的,所以它們被加密並且不需要額外的基本SSL層。 – vol7ron 2011-06-10 22:23:06

+0

要回答你的問題,這是一個好的做法,並始終發生​​。大多數情況下,您看到那些表示「此頁面上的信息可能不安全」的消息是由於這些圖像。 – vol7ron 2011-06-10 22:25:37

1

如果您希望實施普通HTTP,則應在服務器上編寫重寫規則,以將任何圖像的HTTPS請求轉發到HTTP等效項。在客戶端,簡單地做這件事就足夠了(但你真的需要後端件):

url.replace("https", "http"); 
+0

他不能在客戶端做到這一點:「我不確定是否可以使用」replace()「方法來執行此操作,因爲我只在srcURL變量中獲取路徑」/myFolder/myFile.jpg「,而不是與https「 – 2011-06-10 13:15:16

+0

嗨邁克......我其實只想在一個地方(即特定圖像)發生只有1頁...所以服務器設置不會造成全球影響..我不想要的東西。 – testndtv 2011-06-10 13:19:16