首页 > 解决方案 > 我可以将 URL 作为变量传递吗?

问题描述

我有以下脚本没有给我想要的结果。底部的 JSFiddle 链接。

注意:这不是我的图像。我从 imgur 随机抓取了它。

我预计:

<img src="https://i.imgur.com/MiOeWrk.jpg" style="max-width:800px;">

但是我相信我明白了,但是由于某种原因,在调试时我无法在代码块中编写它。

<img src="http://thisismydomain.com/https://i.imgur.com/MiOeWrk.jpg" style="max-width:800px;">

这是我的脚本。请指教:

<div><a href="javascript:viewimage('https://i.imgur.com/MiOeWrk.jpg','video_aba');">Show Image</a></div>

<div id="jsdebug">jsdebug</div>
<div id="video_aba">video_aba</div>

<script>    
function viewimage(ytlink, uid) {
  var imagelink = ytlink;
  document.getElementById("jsdebug").innerHTML = imagelink;
  var uid = uid;
  if (imagelink.length == 0) {
    imageembed = "<strong>Sorry, unable to load.</strong>";
  } else {
    imageembed = "<img src=\"/" + imagelink + "\" style=\"max-width:800px\">";
  }
  document.getElementById("video_aba").innerHTML = imageembed;
}
</script>

https://jsfiddle.net/gde5630h/

标签: javascript

解决方案


您的归因不正确。href应该替换为onclick事件。

“href”不用于 javascript 事件。它用于链接网页。

javascript 事件是onclick, onhover, onmouseenter, 等等。

function viewimage(ytlink, uid) {
  var imagelink = ytlink;
  var uid = uid;
  if (imagelink.length == 0) {
    imageembed = "<strong>Sorry, unable to load.</strong>";
  } else {
    imageembed = `<img src="${ytlink}" style="width:800px">`;
  }
  document.getElementById("video_aba").innerHTML = imageembed;
  document.getElementById("jsdebug").innerText = imageembed;
}
a {
color: blue;
text-decoration: underline;
cursor: pointer;
}
<div><a href="#" onclick="viewimage('https://i.imgur.com/MiOeWrk.jpg','video_aba');">Show Image</a></div>

<div id="jsdebug">jsdebug</div>
<div id="video_aba">video_aba</div>


推荐阅读