我已将YUI下载到我的本地服务器上并链接到yui-min.js。我使用的代码是:
<script src="//mysite.com/scripts/yui3-3.17.2/build/yui/yui-min.js"></script>
这在HTTP环境中运行良好,但在切换到HTTPS时无法正常工作。
我唯一的yui代码如下:
<script>
YUI({
classNamePrefix: 'pure'
}).use('gallery-sm-menu', function (Y) {
var horizontalMenu = new Y.Menu({
container : '#demo-horizontal-menu',
sourceNode : '#std-menu-items',
orientation : 'horizontal',
hideOnOutsideClick: false,
hideOnClick : false
});
horizontalMenu.render();
horizontalMenu.show();
});
</script>
我相信我需要使用组合处理程序才能使其工作,但我无法理解有关其工作原理的文档。有人可以帮忙吗?
谢谢!
马特
答案 0 :(得分:2)
这是在https:
中运行的完整代码
<script>
YUI({
classNamePrefix: 'pure',
modules: {
'gallery-sm-menu': {
fullpath: 'js/yui-gallery-master/build/gallery-sm-menu/gallery-sm-menu.js'
},
'gallery-sm-menu-base-min': {
fullpath: 'js/yui-gallery-master/build/gallery-sm-menu-base/gallery-sm-menu-base-min.js'
},
'gallery-sm-menu-templates-min': {
fullpath: 'js/yui-gallery-master/build/gallery-sm-menu-templates/gallery-sm-menu-templates-min.js'
},
'gallery-sm-menu-item-min': {
fullpath: 'js/yui-gallery-master/build/gallery-sm-menu-item/gallery-sm-menu-item-min.js'
}
}
}).use( 'gallery-sm-menu',
'gallery-sm-menu-base-min',
'gallery-sm-menu-templates-min',
'gallery-sm-menu-item-min', function (Y) {
var horizontalMenu = new Y.Menu({
container : '#demo-horizontal-menu',
sourceNode : '#std-menu-items',
orientation : 'horizontal',
hideOnOutsideClick: false,
hideOnClick : false
});
horizontalMenu.render();
horizontalMenu.show();
});
</script>
答案 1 :(得分:0)
YUI CDN(yui.yahooapis.com)不支持HTTPS端点。诸如gallery-sm-menu
之类的库模块将从HTTP CDN加载为默认值。您需要在YUI配置对象中定义模块。
示例如下。另请参阅YUI Global Object。
YUI({
modules: {
gallery-sm-menu: {
fullpath: 'https://your-domain/your/path/to/module.js'
}
}
}).use("gallery-sm-menu", function (Y) {
// do something.
});