这几天一直在挠头。我拥有的是一个调用子域上的弹出窗口的表单按钮。弹出窗口包含一系列与 parent 相关的图像。通过单击要使用的图像,用于将文件名写入打开器中的表单字段。当两个页面都在一个域中时,它运行得很好;移动到子域作为媒体服务器意味着该脚本将不再起作用。
以下是调用 selectimage 页面 [页面位于子域] 的脚本:
<SCRIPT language="Javascript">
function ShowImages(xpropref, pageupdate_form, image_field)
{
var xpropref = <%=rsPropDet("PropID")%>
url='http://photostream.ourdomain.com/pagefiles/selectimage.asp?propref=' + xpropref + '&pageupdate_form=' + pageupdate_form + '&image_field=' + image_field;
window.open(url,"_blank","height=800,width=750, resizable=yes, scrollbars=yes, status=yes");
}
</SCRIPT>
<a href="javascript:ShowImages('xpropref','pageupdate','image');">
打开的弹出窗口中的代码[页面位于主域]:
<SCRIPT language="Javascript">
function pick_image<%=count%>()
{
if (window.opener && !window.opener.closed)
{
window.opener.document.<%=request("pageupdate_form")%>.<%=request("image_field")%>.value ="<%=rsFSO("Name")%>"
}
window.close();
}
</SCRIPT>
<a href="javascript:pick_image<%=count%>('<%=rsFSO("Name")%>')"><image filename></a>
如有任何帮助,我们将不胜感激 格伦
最佳答案
除非 URL 完全相同,否则您无法从 Javascript 中的另一个窗口读取数据,您提到这是在另一个子域中并且它曾经工作“当两个页面都在一个域中时,它工作得很好”
这就是你的答案,它是 Javascript 的安全功能。
你需要重新考虑你想做什么。
关于javascript - 跨域JavaScript图像选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564514/