我为图片编写了一个显示引擎(在代码中称为mpv.html)。它有两种模式。模式1显示单个图像(与缩略图链接),模式2翻转图像名称数组,类似幻灯片,由表单提交触发。
所有参数都在URL中传递。在模式1中,调用mpv的链接传递图像文件名和所需的附加数据,但在模式2中,大部分数据被抑制,只传递图像文件名(通过HTML表单机制作为字符串)。
在开发中(mpv.html与提供图像的HTML页面位于同一文件夹中),两种模式都可以正常工作。但是在服务器上,虽然模式1工作正常,但模式2(显示引擎位于同一服务器上的自己位置)只能看到“[display engine]?inp1 =”,其中inp1的值应该是一个字符串图像文件名。传递简单字符的测试也无法显示,因此我不得不相信在提交之前注入表单的strTest的值在服务器环境中不会被显示引擎看到。
这是一个CORS问题吗?无论如何,有没有人看到传递文件名数组更成功的方式?
.
.
.
<td><a href="../../mpv/mpv.html?pic=../WebTopics/dk1968_211.jpg&color=#4D4d4d&backcolor=..." target="_blank"><img src="images/dk1968_211_t.jpg"></a></td>
.
.
.
<form action="../../mpv/mpv.html" method="get" target="_blank">
<input type="hidden" id="input1" name="inp1">
<input type="submit" value="Play as slide show...">
</form>
.
.
.
<script>
...
arImages.push("../WebTopics/DavidsKids/images/dk1968_216.jpg");
...
var strTest = JSON.stringify(arImages);
$("#input1").val(strTest);
...
</script>
答案 0 :(得分:0)
您需要对#
网址中的href
字符进行网址编码。否则,它被视为分隔符,其后的所有内容都是URL的哈希值。
<a href="../../mpv/mpv.html?pic=../WebTopics/dk1968_211.jpg&color=%234D4d4d&backcolor=..." target="_blank">
答案 1 :(得分:0)
我的错。完全没有问题。我的开发环境包含jQuery的副本,而服务器环境则没有。
全部修复。