2013-10-31 24 views
-1

如下面HTML對象數據文件,如果沒有找到

<object type="text/html" data="a.html"> 

</object> 

如果文件a.html不存在,它顯示爲空白。我可以使它導致另一個文件或顯示文本說a.html找不到就像?

+0

非常感謝。但我只是意識到了一個非常簡單的方法。這是添加我想要的對象標籤之間的文本。 – user2942998

回答

0

您可以嘗試使用AJAX來獲取文件,檢查它是否存在,並根據它創建object與獲取的內容或錯誤的情況下,放置一些消息:

$.get('a.html'). 
    done(function(data) { 
     $('body').append('<object type="text/html" data="a.html"></object>'); 
    }). 
    fail(function() { 
     $('body').append("<div>file a.html doesn't exist</div>"); 
    }); 

注意

  1. 由於a.html將被瀏覽器緩存,因此不會執行另一次往返加載對象內容,但會從緩存中取回。

  2. 這將只工作,如果你的a.html是共享同一個原點(協議,主機,端口),你原來的頁面,或a.thml服務器跨起源發送特殊的HTTP標頭請求

0

好,我知道w3schools不是最受歡迎的參考資源,但they say標籤支持HTML中的事件屬性,其中包含onerror事件。

所以,你應該能夠做到這一點:

<object type="text/html" data="a.html" onerror=function() { alert('"a.html" not found'); }> 
</object> 

編輯查找有關MDN證明是一個有點艱難,它需要三個環節。 This表示該對象是HTMLElement,this表示HTMLElements繼承所有GlobalEventHandlers,而this包含onerror作爲globalEventHandler事件。