我有以下索引.html。下面的javascript的目标是重新加载元素的数据标签,以便它可以显示多个图像。但是,我链接按钮的图像之一可能不存在(在本例中为 )。#obj#2
function updateObject(evt) {
var id = evt.currentTarget.id;
var object = document.getElementById("obj");
if (id == "1") {
object.setAttribute("data","https://upload.wikimedia.org/wikipedia/commons/f/fa/Apple_logo_black.svg")
}
else {
object.setAttribute("data", "file/that/doesnt/exist")
}
}
for (var i = 0; i < document.getElementsByTagName("button").length; i++) {
document.getElementsByTagName("button")[i].addEventListener("click", updateObject, false);
}
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
</head>
<body>
<button id="1">button1</button>
<button id="2">button2</button>
<object id="obj" style='width: 100px'></object>
</body>
</html>
我期望在以下脚本中发生的事情是这样的:
用户按下按钮1,看到苹果
用户按下按钮2,什么也没看到
用户按下按钮1,看到苹果
但是,第三步没有发生 - 当我在链接到不存在的文件后尝试重新加载对象的数据时,它保持空白。
据我所知,这发生在Chrome中,对我来说,这是在Safari中工作的。我必须使用对象标签或其他一些允许交互式SVG的方法。
ITMISS
眼眸繁星
慕后森
相关分类