是否可以使用javascript:pseudo协议设置图像的源?

是否可以使用javascript:pseudo协议设置图像的源?,javascript,Javascript,基本上,我有一个只允许创建图像的上下文,但我想在确定源代码之前运行一个脚本,所以我想知道这是否可行: <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-scr

基本上,我有一个只允许创建图像的上下文,但我想在确定源代码之前运行一个脚本,所以我想知道这是否可行:

<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>');" />
”);" />
但我希望能有更干净一点的东西


顺便说一句,我知道“javascript:”是一种邪恶的引用。这是一种特殊情况。

如果你想要什么,可以在服务器上完成。你可以让src属性指向你的服务器端脚本,并在执行任何你想要的后写回图像


但不确定这是否适合您的问题。

是否可以在服务器上执行您想要的操作。您只需将src属性指向服务器端脚本,并在执行您想要的操作后写回映像即可


但不确定这是否适合您的问题。

创建一个函数,用于收集您需要的任何数据并将其发送到服务器(通过XMLHttpRequest或您喜欢的任何方法)。创建一个函数,用于检查服务器的响应并决定要使用的图像。然后,您可以直接将url设置为图像:

document.getElementById("myImage").src = myImageSrc;  
编辑:处理评论

如果你只能处理img元素本身,那么你是对的,
img.onload
就是你想要的。如果脚本不止几行,那么导入脚本似乎是合理的。也许这比
文档要干净一点。编写

document.body.appendChild(document.createElement("script")).src =
    "http://mysite.com/myscript.js";

创建一个函数,用于收集您需要的任何数据并将其发送到服务器(通过XMLHttpRequest或您喜欢的任何方法)。创建一个函数,用于检查来自服务器的响应并确定要使用的图像。然后,您可以直接将url设置为图像:

document.getElementById("myImage").src = myImageSrc;  
编辑:处理评论

如果你只能处理img元素本身,那么你是对的,
img.onload
就是你想要的。如果脚本不止几行,那么导入脚本似乎是合理的。也许这比
文档要干净一点。编写

document.body.appendChild(document.createElement("script")).src =
    "http://mysite.com/myscript.js";

我需要在客户端收集一些数据,然后将其发送到服务器进行处理,然后取回真实图像…我需要在客户端收集一些数据,然后将其发送到服务器进行处理,然后取回真实图像…可能重复:可能重复:为了做到这一点,我必须使用带有函数的脚本ble。为了使该脚本可用,我似乎需要通过我上面概述的图像加载破解来加载该脚本。@sprugman:在重新阅读您的帖子和评论之后,哇,这些限制太多了。您以任何方式完成它都将是一个“破解”“。考虑到你的限制,导入脚本是有意义的。是的。。。我只是想看看我是否错过了更优雅的东西。不过谢谢你。(我喜欢appendChild的改进。)为了做到这一点,我必须让脚本和函数可用。为了使该脚本可用,我似乎需要通过上面概述的图像加载黑客来加载该脚本。@sprugman:在重新阅读您的帖子和评论之后,哇,这些限制太多了。无论你以何种方式完成它都将是一次“黑客”。考虑到你的限制,导入脚本是有意义的。是的。。。我只是想看看我是否错过了更优雅的东西。不过谢谢你。(我喜欢孩子的进步。)