2015-07-19 80 views
0

我已經通過Azure發佈了一個不想顯示圖像絕對URL的網站。基本上,我使用a free web service來獲取關於電影的信息。我已將JavaScript添加到頁面以處理所有HTML控件的設置,例如使用document.getElementById("imgID").src = xmlElement.getAttribute("poster");<img />標記。部署後不顯示圖像

現在,當我正在調試時,這種方式非常有效,但是在網站發佈時根本不起作用(通常情況下......)。當我檢查元素並查看源代碼時,源代碼是有效的,但會顯示「圖像無效」圖標或替代文本。

一個例子可以看這裏: <img width="300" height="450" alt="Couldn't display image..." src="http://ia.media-imdb.com/images/M/[email protected]@._V1_SX300.jpg" />

enter image description here

有什麼我與Azure的缺失,如東西在Web.config中設置?任何方向將不勝感激。

+0

控制檯中是否有任何錯誤?可能是混合數據的問題,不安全還是安全。 –

+0

我得到的唯一錯誤是來自AdSense控件的「拒絕訪問」錯誤。 – tbm0115

回答

1

使用你自己的圖像抱怨Azure之前!你的問題是因爲你試圖從第三方網站竊取圖像 - 即imdb。開始的Web開發人員首先要做的,就是學習如何保護他/她的圖像,直接引用那些想要節省流量和努力並且直接引用他們不擁有的圖像的粗暴網站。

您的網站在本地工作,因爲沒有Referer標頭集,或者因爲它設置爲Localhost。但是,一旦您發佈,Referer header具有正確的網站價值。然後圖像請求以HTTP 403狀態結束。

一旦你把圖片放入你的網站並從那裏加載它,它就會工作。但是,當然,你必須遵守圖像的版權。

+1

謝謝你的Referer頭注。進一步的研究幫助我瞭解問題所在。我覺得下面的問題提供了一個更清晰的解釋。 http://stackoverflow.com/questions/3154562/remote-images-displaying-only-sometimes。我目前也正在與上述網站服務聯繫,看看他們是否遵守IMDb的許可和網站訪問條件,允許使用可版權材料用於非商業用途。如果前面提到的服務沒有明確的權限,那麼我將轉換爲使用IMDb的通知未記錄的API來獲取信息 – tbm0115