使用liferay 3.6遗留项目,无法修改liferay配置,通过IE8 / 9访问并尝试加载/使用jQuery&来自页面上的portlet的UI但它不起作用。
尝试加载jQuery& UI直接,作为一个合并文件,并尝试从yepnope和require加载;看起来文件加载正常(对于UI可以看到调试器中的负载)。例如:
<script>
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "/pim/scripts/yepnope.js";
head.appendChild(script);
</script>
<script>
yepnope({
load: ["scripts/jquery-1.9.1.js", "scripts/jquery-ui-1.10.2.custom.js"],
callback: {
"jquery-1.9.1.js": function () {
console.log("jquery loaded!");
},
"jquery-ui-1.10.2.custom.js": function () {
console.log("jquery-ui loaded!");
}
}
});
</script>
控制台: 日志:加载jquery!
SCRIPT5009:'jQuery'未定义
jquery-ui-1.10.2.custom.js,第6行第1个字符
到目前为止,无论我如何加载这两个文件,都会得到JQuery未定义的消息
有关如何使其发挥作用的任何指示?
答案 0 :(得分:0)
最后让它发挥作用。
1)保存附有yepnope.js的脚本
2)在portlet加载期间调用的一个页面portlet中的脚本中,出现:window.addEventListener(“onload”,invokeLoad,false);
3)invokeLoad函数执行jQuery的yepnope加载,如问题的第二个脚本。
应该注意,它不适用于版本1.9.1,但适用于1.7.2