[英]iframe's onload event not firing in firefox (related to ASP.NET file uploading)
主頁:
<iframe src="/files/new" onload="alert('onload');"></iframe>
在iframe中,/ files / new呈現器:
<form action="/files/create" method="post" enctype="multipart/form-data" >
<input type="file" name="file1" size="28" />
<input type="submit" value="submit" value="Submit" />
</form>
如果我提交文件,則iframe的onload事件會按預期觸發。 但是,如果我提交的大文件大於web.config中httpRuntime的maxRequestLength中指定的值,則不會觸發iframe的onload事件(僅在firefox(我在v3.0.11中進行了測試)。IE和Google Chrome通常會觸發onload事件)。
我正在使用jQuery的ajaxSubmit上傳文件,而ajaxSubmit在內部使用iframe並監聽onload事件以通知成功或失敗。 因此,如果我上傳一個大文件,則在firefox中會調用任何回調,而我無法知道它是成功還是失敗。
我經常遇到這樣的問題,所以我換種方式給貓皮擦毛。 除了使用onload之外,是否可以在框架內部包含某些內容以引用DOM的外部部分?
例如,您是否可以簡單地將變量設置為主父框架window.parent.uploadComplete,然后使用計時器查看上傳完成變量的狀態?
它不像使用onload觸發那樣有效,但是有時這就是跨瀏覽器兼容性的犧牲。
如果您希望較早的瀏覽器在文檔加載到iframe中后立即執行某些操作,則可以在該文檔中包含onload處理程序。
然后,文檔可以使用“ parent”關鍵字引用包含文檔。
這應該可以解決您的問題。
相關的東西:
不要在onload中調用您要調用的函數“ onload”。
<body onload="onload();">
這在IE中有效,但在FF中導致無限遞歸。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.