基本上,我有一个上下文,我只允许创建一个图像,但我想在决定源代码之前运行一个脚本,所以我想知道这是否可行:
<img src="javascript:{load a remote script and run it to figure out the source}" />
我提出的解决方法是:
<img src="any-old-image.gif" onload="document.write('<scr' + 'ipt src=\"http://mysite-script.js\"'></scr' + 'pt>');" />
但我希望有一点清洁可能。
P.S。我知道“javascript:”是引用 - 不引用的邪恶。这是一种特殊情况。
答案 0 :(得分:1)
创建一个函数,收集您需要的任何数据并将其发送到服务器(通过XMLHttpRequest或您喜欢的任何方法)。创建一个功能,检查服务器的响应并决定使用哪个图像。然后,您可以直接将网址设置为图像:
document.getElementById("myImage").src = myImageSrc;
编辑:发表评论。
如果你只能使用img元素,那么你是对的,img.onload
就是你想要的。如果不仅仅是几行脚本,导入脚本似乎是合理的。也许这比document.write
更清洁:
document.body.appendChild(document.createElement("script")).src =
"http://mysite.com/myscript.js";
答案 1 :(得分:0)
如果你想要什么可以在服务器上完成。你可以让src属性指向你的服务器端脚本,并在执行你想要的任何内容后回写图像。
不确定这是否适合您的问题。