Javascript 显示图像而不写入它';s路径
我找不到更好的标题,请随意编辑 我想使用脚本作为图像src属性,如下所示:Javascript 显示图像而不写入它';s路径,javascript,php,html,Javascript,Php,Html,我找不到更好的标题,请随意编辑 我想使用脚本作为图像src属性,如下所示: <img src="img.js"/> 但它不起作用 我可以看到js脚本没有被调用,因为当我添加console.log调用时,它不会在控制台中显示任何内容 我该怎么做?可能吗 目的是: 具有选择要显示的图像的服务器端脚本 不要在HTML中写入图像的路径 “/> 在img.php中: <? echo "3.jpg"; ?> 需要来自指定URL的图像数据。您不能将Javascript转储为源代码
<img src="img.js"/>
但它不起作用
我可以看到js脚本没有被调用,因为当我添加console.log调用时,它不会在控制台中显示任何内容
我该怎么做?可能吗
目的是:
- 具有选择要显示的图像的服务器端脚本
- 不要在HTML中写入图像的路径
“/>
在img.php中:
<?
echo "3.jpg";
?>
需要来自指定URL的图像数据。您不能将Javascript转储为源代码,因为这不是图像,而是代码。浏览器将把JS代码视为图像数据,尝试找出它是什么类型的图像(jpg、gif、png等),然后转到“wtf is this?”并显示一个损坏的图像图标
无论您使用什么URL,图像源都必须输出原始二进制图像数据,例如
html:
img.php:
<?php
header('Content-type: image/jpeg');
readfile('3.jpg');
例子
$(文档).ready(函数(){
$(“#dummy”).attr(“src”,“3.png”).css(“display”,“block”);
});
这是一个例子,但正如前面的文章所建议的那样,您需要的似乎是像php这样的服务器端脚本?“其目的是要有一个服务器端脚本来选择要显示的图像。“然后您必须编写一个服务器端脚本来返回图像数据。JS代码不是图像数据。
像这样使用JavaScript是在客户端运行JavaScript,而不是在服务器上。@maček:刚刚注意到,
不会执行JS,因为浏览器不希望得到JS。它只是看到了一个损坏的图像。@FelixKling这是真的。我想我想说的是,问题中没有使用服务器端语言。你是对的,javascript是测试它是否可行的第一步。我可以换成另一种语言,问题是一样的,如何显示图像?你能解释一下这里发生了什么吗?我相信OP会感谢你的解释。我理解,谢谢。他正在使用PHP将正确的图像源代码写入html代码。但我不想将图像路径写入HTML,这是棘手的部分=),所以您应该像Mark B那样。哈哈,这似乎是一个很好的答案!谢谢,目的是避免在HTML中写入图像路径(“[…]3.jpg”)。我知道你已经找到了一个php答案,但是如果你不想使用php,或者如果你知道你有多少图像,它们被命名为0.png、1.png等,你可以随机选取或按范围(var I=0;I)显示它们
<img src="img.php" />
<?php
header('Content-type: image/jpeg');
readfile('3.jpg');
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>example</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#dummy").attr("src", '3.png').css("display", "block");
});
</script>
</head>
<body>
<img id="dummy" style="display:none" src="" />
</body>
</html>