2011-07-19 72 views
7

嘗試使用createObjectDataURL更改視頻源文件。它在Firefox中工作正常,但在Chrome(版本12.0.742.122米)中不起作用。代碼不會引發任何錯誤,但返回未定義的createObjectDataURL。我嘗試了所有的可能性,但總是返回undefined。createObjectURL在Chrome中返回undefined

<!DOCTYPE html> 
<html> 
<head> 
<title>Check CreateObjectURL</title> 
</head> 
<script type="text/javascript" language="javascript"> 

window.URL = window.URL || window.webkitURL; 

function ChangeProperty() 
{ 
     var v = document.getElementById("myvideo"); 
     var file = document.getElementById("fileControl").files[0]; 
     v.setAttribute("src",window.URL.createObjectURL(file)); 
} 
</script> 
<body> 
<div > 
    <video id="myvideo" src="movie.ogg" controls ></video> 
    <input type="file" id="fileControl" /> 
    <button id="btnprops" onClick="ChangeProperty()" >update</button> 
</div> 
</body> 
</html> 

請幫幫我。它已經花了很多時間。 在此先感謝。

+0

嘿指出。我遇到了同樣的問題,在使用window.URL.createObjectURL時出現錯誤:'無法加載資源',但我已經知道,本地資源不會加載,但是,如果您將此HTML頁面託管在互聯網,那麼它會順利工作,沒有任何麻煩 –

+0

請參閱https://stackoverflow.com/questions/24485077/how-to-open-blob-url-on-chrome-ios HTH –

回答

4

當我在Chrome中打開本地文件時,出現同樣的問題。我必須使用Apache並通過本地主機打開它。

+0

我必須做同樣的事情,但編輯我的主機文件使用不同的主機名。對我來說,Chrome仍然不喜歡'localhost'。 –

2

這似乎是在Chromium的錯誤,儘管錯誤的狀態我不清楚:http://code.google.com/p/chromium/issues/detail?id=91136

Crossposting我的意見有:

I can confirm this issue on Windows Chrome 17.0.932.0 dev-m. An easy way to confirm [the bug] is this page: http://html5-demos.appspot.com/static/a.download.html . It works when used online. After saving to disk, the download fails.

編輯:剛剛發現這個類似的錯誤報告( FileReader API不適用於本地內容):http://code.google.com/p/chromium/issues/detail?id=60889這標記爲won't fix,原因似乎適用於此處討論的錯誤。

+0

感謝您的鏈接!由於安全考慮,它們已經拒絕爲file:資源使用createObjectURL,並且他們建議運行本地HTTP服務器或使用Chrome應用程序捆綁包。 –