总览

在您的网站上创建自定义Google Maps地图时,您需要包括托管在其服务器上的Google API库。

为了使事情尽可能快,我使用条件规则根据需要在页面上包含各种脚本。

在此过程中,我担心我可能已发现Diazo的错误,尽管如果我错了,请告诉我。

注意: I have filed a bug report already.我只是想在这里问一下,以防有人遇到过类似的经历,并且知道可以解决问题或解决该问题。

问题

当包含非本地的src时,似乎会破坏我的Diazo规则文件,因此Plone站点将呈现默认的SunBurst主题,而不是我的自定义Diazo主题。

破坏一切的规则如下:

<rules css:if-content="#map">
 <append theme="/html/body">
   <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXX&sensor=false"></script>
 </append>
</rules>

我尝试从规则中删除https :,仅保留http :,也尝试将其完全删除,仅保留两个斜杠。两者都不起作用。我在该规则中包含其他脚本,当我注释掉上面的<script>标记时,它可以工作,并且可以很好地加载。

解决

我知道我可以简单地给脚本一个ID,将其添加到我的HTML模板中,然后使用rules.xml删除它,除非满足我的规则,但是我宁愿让Diazo如果需要的话添加脚本,而不是每次都删除它该页面已投放。

有什么想法为什么这个外部<script> src=属性会给我这么讨厌吗?

谢谢!

最佳答案

我认为您的文件不是100%有效的XML(例如:by including a URL which contains an ampersand)。

尝试在validator中检查它。

10-07 21:04