比如下面
<object type="text/html" data="a.html">
</object>
如果文件a.html
不存在,则显示为空白。我可以让它指向另一个文件或显示一个文本说a.html
not found 就像404吗?
比如下面
<object type="text/html" data="a.html">
</object>
如果文件a.html
不存在,则显示为空白。我可以让它指向另一个文件或显示一个文本说a.html
not found 就像404吗?
您可以尝试使用 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>");
});
注意:
由于a.html
将被浏览器缓存,它不会执行另一个往返来加载对象内容,而是从缓存中获取它。
仅当您a.html
与原始页面共享相同的来源(协议、主机、端口)或服务器a.thml
为跨来源请求发送特殊 HTTP 标头时,这才有效
好吧,我知道 w3schools 不是最流行的参考源,但他们说该标记支持 HTML 中的事件属性,其中包括 onerror 事件。
所以,你应该能够做到这一点:
<object type="text/html" data="a.html" onerror=function() { alert('"a.html" not found'); }>
</object>
编辑在 MDN 上查找证明有点困难,需要三个链接。 这表示该对象是一个 HTMLElement,这表示 HTMLElements 继承了所有 GlobalEventHandlers,这包括作为 globalEventHandler 事件的 onerror。