我正在使用 ESRI 的 ArcGIS Web App 创建具有多个交互功能的地图。通过单击我的地图中的特定对象,用户将看到一个弹出窗口(使用 Web 应用程序创建功能创建),其中包含有关他们单击的区域的信息。
其中一些弹出窗口包含一个链接,该链接应打开一个新窗口以显示图像(我已托管在我的网络服务器上)。
这是我的问题开始的地方。在地图构建器中,在我设置了所有内容的 ArcGIS 在线登录中,我已将链接控件添加到配置的弹出窗口中,告诉它在“onclick”中使用 Javascript 来告诉它打开一个特定大小的新窗口,以及在哪里可以找到要显示的图像。在构建器中一切正常。但是一旦我创建了网络应用程序,它就完全放弃了我的“onclick”。
更重要的是,我尝试通过将链接的 href 更改为“javascript:myScriptHereTellingItToOpenANewWindow”来解决此问题,然后网络应用程序删除“javascript:”部分并将其更改为“#”因此当我单击时仍然无法工作它所做的只是尝试打开一个新的浏览器选项卡并忽略在 href 中编写的其余脚本。
对不起,我必须有点含糊,因为这是针对具有高安全性的公司项目。下面是我可以分享的一些小代码(稍微清理一下以隐藏机密信息)。
在 ArcGIS Web 地图构建器中,这是我在配置的弹出窗口中的代码:
<a onclick="window.open('URL of image file I want to load','width=1000,height=202,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');" style="cursor:pointer;" target="_parent">View Featured Line</a>
正如我所说,这在编辑器中效果很好。但是,一旦我选择“从此地图创建 Web 应用程序”,它就会完全放弃“onclick”。
如果我把它放在 href 标记中,如下所示:
<a href="javascript:window.open('URL of image file I want to load','width=1000,height=202,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');" style="cursor:pointer;" target="_parent">View Featured Line</a>
然后当我在网络应用程序中“检查源”时,它看起来像这样(这也不起作用):
<a href="#window.open('URL of image file I want to load','width=1000,height=202,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');" style="cursor:pointer;" target="_parent">View Featured Line</a>