Я пытаюсь вставить код JavaScript в YAHOO.widget.Dialog.setBody(...), но это не работает в Chrome (у меня Ubuntu) (В Firefox код работает)
YAHOO.widget.Dialog.setBody(...)
HTML-файл (простой пример, который не работает в браузере Chrome):
<html> <head> <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?2.8.2r1/build/container/assets/skins/sam/container.css"> <script type="text/javascript" src="http://yui.yahooapis.com/combo?2.8.2r1/build/yahoo-dom-event/yahoo-dom-event.js&2.8.2r1/build/container/container-min.js"></script> </head> <body class="yui-skin-sam"> <script type="text/javascript"> previewDialog = new YAHOO.widget.Dialog("previewDialog", { width: "600px", visible: true}); previewDialog.setBody('<h2>h2 text h2'+'<script>'+'alert("alert text alert");'+'<'+'/script>'+'</h2>'); previewDialog.render(document.body); </script> </body> </html>
Как исправить мой код для работы в Chrome?
(В реальном проекте я пытаюсь вставить более сложный код JavaScript)
У меня нет решения, но у меня та же проблема.
Я открыл встроенную консоль разработчика Google Chrome и вижу несколько предупреждений:
[заблокирован] Страница на https://c.na15.visual.force.com/apex/SkillsMatrix?core.apexpages.devmode.url=1 запускала небезопасный контент из http://yui.yahooapis.com/combo?2.7.0/build/yahoo-dom-event/yahoo-dom-event.….0/build/animation/animation-min.js&2.7.0/build/container/container-min.js. SkillsMatrix? Core.apexpages.devmode.url = 1: 1 [заблокирован] Страница на https://c.na15.visual.force.com/apex/SkillsMatrix?core.apexpages.devmode.url=1 запускала небезопасный контент из http://yui.yahooapis.com/combo?2.7.0/build/container/assets/skins/sam/container.css. SkillsMatrix? Core.apexpages.devmode.url = 1: 3 [заблокировано] Страница на https://c.na15.visual.force.com/apex/SkillsMatrix?core.apexpages.devmode.url=1 показала небезопасный контент из http://yui.yahooapis.com/combo?2.7.0/build/yahoo-dom-event/yahoo-dom-event.….0/build/animation/animation-min.js&2.7.0/build/container/container-min.js. SkillsMatrix: 1 [заблокирована] Страница на https://c.na15.visual.force.com/apex/SkillsMatrix?core.apexpages.devmode.url=1 запустил небезопасный контент из http://yui.yahooapis.com/combo?2.7.0/build/container/assets/skins/sam/container.css.
Я думаю, что проблема (по крайней мере для меня) заключается в том, что Chrome самым бдительным образом применяет «Политику одинакового происхождения» (см. http://en.wikipedia.org/wiki/Same_origin_policy).
The Force Times (http://theforcetimes.wordpress.com/) в настоящее время пишет об использовании «AJAX Proxy», который может помочь решить некоторые такие проблемы.(Его статья ориентирована на SFDC, но, возможно, этот принцип поможет, если это ваша проблема, и вы можете где-нибудь установить свой собственный прокси.)
Требуются также дополнительные button-min.js и element-min.js с соответствующим CSS.