设置时检查图片src是否有效
Check image src is valid when setting
我有一小段 noddy 代码,当点击图片时用户可以更改来源。这是我使用的功能
function doStuff(objId){
newVal = prompt("new Value")
if(newVal==""){
newVal = "blank"
}
document.getElementById(objId).src=newVal+".png"
}
有没有办法在设置 src 之前检查它是否是一个有效的文件名,同时我检查用户是否没有指定任何内容?我希望能够保护页面,因此如果用户键入 "banana" 并且没有 banana.png 可用,我只需将其更改为 blank.png 文件。
我找到了各种错误处理方法,但不确定在这种情况下如何处理,因为如果页面正在动态更新,其中 none 似乎会触发。
谢谢!
修改 img
标签以在出错时显示默认图像
<img onerror="this.src='images/default.jpg'"/>
现在您可以执行动态更改图像的功能
function doStuff(objId){
newVal = prompt("new Value")
if(newVal==""){
newVal = "blank"
}
document.getElementById(objId).src=newVal+".png"
}
在下方附上动态更改图像的片段,如果找不到则加载默认图像
var server = 'https://homepages.cae.wisc.edu/~ece533/images/';
function changeImage(option) {
document.getElementById('test').src = server + option.value;
}
<html>
<body>
<img width='150' height='150' id='test' src="http://www.yostra.com/images/team/you.png" onerror="this.src='http://www.yostra.com/images/team/you.png'" />
<br>
<select onchange='changeImage(this)'>
<option>--Choose--</option>
<option value='airplane.png'>airplane.png</option>
<option value='baboon.png'>baboon.png</option>
<option value='abs'>ABC</option>
<option value='arctichare.png'>arctichare.png</option>
<option value=''>----</option>
</select>
</body>
</html>
我有一小段 noddy 代码,当点击图片时用户可以更改来源。这是我使用的功能
function doStuff(objId){
newVal = prompt("new Value")
if(newVal==""){
newVal = "blank"
}
document.getElementById(objId).src=newVal+".png"
}
有没有办法在设置 src 之前检查它是否是一个有效的文件名,同时我检查用户是否没有指定任何内容?我希望能够保护页面,因此如果用户键入 "banana" 并且没有 banana.png 可用,我只需将其更改为 blank.png 文件。
我找到了各种错误处理方法,但不确定在这种情况下如何处理,因为如果页面正在动态更新,其中 none 似乎会触发。
谢谢!
修改 img
标签以在出错时显示默认图像
<img onerror="this.src='images/default.jpg'"/>
现在您可以执行动态更改图像的功能
function doStuff(objId){
newVal = prompt("new Value")
if(newVal==""){
newVal = "blank"
}
document.getElementById(objId).src=newVal+".png"
}
在下方附上动态更改图像的片段,如果找不到则加载默认图像
var server = 'https://homepages.cae.wisc.edu/~ece533/images/';
function changeImage(option) {
document.getElementById('test').src = server + option.value;
}
<html>
<body>
<img width='150' height='150' id='test' src="http://www.yostra.com/images/team/you.png" onerror="this.src='http://www.yostra.com/images/team/you.png'" />
<br>
<select onchange='changeImage(this)'>
<option>--Choose--</option>
<option value='airplane.png'>airplane.png</option>
<option value='baboon.png'>baboon.png</option>
<option value='abs'>ABC</option>
<option value='arctichare.png'>arctichare.png</option>
<option value=''>----</option>
</select>
</body>
</html>