(YUI2 javascript) - JavaScript在yui对话框中不起作用

时间:2010-11-07 13:45:31

标签: javascript firefox google-chrome yui

我尝试将JavaScript代码插入YAHOO.widget.Dialog.setBody(...),这在Chrome中不起作用(我有Ubuntu)(在Firefox中代码正常工作)

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代码)

2 个答案:

答案 0 :(得分:0)

我没有解决方案,但我遇到同样的问题。

我打开了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开始运行不安全的内容。... / build / animation / animation-min.js&amp; 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运行不安全的内容。... / build / animation / animation-min.js&amp; 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)。

Force Force(http://theforcetimes.wordpress.com/)目前写道使用“AJAX代理”可能有助于解决一些此类问题。 (他的文章以SFDC为中心,但如果这是您遇到的问题,原则可能会有所帮助,您可以在某处建立自己的代理。)

答案 1 :(得分:-1)

它还需要额外的button-min.js和element-min.js以及相应的CSS。