js的兼容性问题问题

所有回答(2)
给你发个地址。里面都是焦点图切换的特效。希望可帮到你。
希望有你要的 &
&&&您需要以后才能回答,未注册用户请先。查看: 2917|回复: 7
注册时间最后登录阅读权限10积分800精华0帖子
高级会员, 积分 800, 距离下一级还需 200 积分
在jsp页面中,只需&script src=&common/miniui/boot.js& type=&text/javascript&&&/script&
就可以使用miniui了。
boot里面已经引入了相关的js和css等,包括jquery.js
可为什么当我用jquery的 $时就会报错呢?
消息: 属性“$”的值为 null、未定义或不是 Function 对象复制代码
注册时间最后登录阅读权限150积分18848精华0帖子
是不是jquery.js不存在还是什么原因,你试试单独引用jquery.js试试
注册时间最后登录阅读权限10积分800精华0帖子
高级会员, 积分 800, 距离下一级还需 200 积分
factory 发表于
是不是jquery.js不存在还是什么原因,你试试单独引用jquery.js试试&script src=&common/miniui/boot.js& type=&text/javascript&&&/script&& & & & & & & &
& & & & & & & & &script src=&common/miniui/jquery-1.6.2.min.js& type=&text/javascript&&&/script&
& & & & & & & & &script src=&common/miniui/miniui/miniui.js& type=&text/javascript&&&/script&
& & & & & & & & &link href=&common/miniui/miniui/themes/default/miniui.css&
& & & & & & & & & & & & rel=&stylesheet& type=&text/css& /&
& & & & & & & & &link href=&common/miniui/miniui/themes/icons.css& rel=&stylesheet&
& & & & & & & & & & & & type=&text/css& /&复制代码这样是可以的。
不过我通过引入JSP文件的方式:
&%
& & & & String root = request.getContextPath();
%&
&script src=&&%=root%&/common/miniui/jquery-1.6.2.min.js&
& & & & type=&text/javascript&&&/script&
&script src=&&%=root%&/common/miniui/boot.js& type=&text/javascript&&&/script&
&script src=&&%=root%&/common/miniui/miniui/miniui.js&
& & & & type=&text/javascript&&&/script&
&link href=&&%=root%&/common/miniui/miniui/themes/default/miniui.css&
& & & & rel=&stylesheet& type=&text/css& /&
&link href=&&%=root%&/common/miniui/miniui/themes/icons.css&
& & & & rel=&stylesheet& type=&text/css& /&复制代码上面是一个JSP文件里的所有代码。在其它的JSP中引入这个JSP,可以使用。但有个问题是最大化、窗口化时里面的tab控件不会跟着变。还是原来的大小。其它miniui的功能都正常。
这个问题是否与路径有关呢?
注册时间最后登录阅读权限200积分1298精华0帖子
在boot.js内,因为是document.write引入jquery.js,所以在此文件内,不能直接访问jquery。
setTimeout(function(){
& &//访问$就可以
在boot.js外的页面,是可以直接访问$的。
注册时间最后登录阅读权限10积分800精华0帖子
高级会员, 积分 800, 距离下一级还需 200 积分
fcrong 发表于
在boot.js内,因为是document.write引入jquery.js,所以在此文件内,不能直接访问jquery。
setTim ...
在boot.js内,因为是document.write引入jquery.js,所以在此文件内,不能直接访问jquery。
请问其它文件也是如此吗?
那我可以这样:
每个页面引入一次jquery.js、boot.js。
请问这样可以么?
注册时间最后登录阅读权限200积分7435精华0帖子
不需要啊。
&script src=&boot.js&&&/script&
注册时间最后登录阅读权限10积分800精华0帖子
高级会员, 积分 800, 距离下一级还需 200 积分
niko 发表于
不需要啊。
谢谢,是这样。我现在有多个不同目录的JSP页面都需要这些引入,为了方便管理我把这些放到了一个JSP页面里,其它JSP引入这个JSP即可。如下:&script src=&common/miniui/jquery-1.6.2.min.js& type=&text/javascript&&&/script&
&script src=&common/miniui/boot.js& type=&text/javascript&&&/script&
&script src=&common/miniui/miniui/miniui.js& type=&text/javascript&&&/script&
&link href=&common/miniui/miniui/themes/default/miniui.css&
& & & & rel=&stylesheet& type=&text/css& /&
&link href=&common/miniui/miniui/themes/icons.css& rel=&stylesheet&
& & & & type=&text/css& /&复制代码&%@ include file=&/miniui-config/miniuibase.jsp&%&复制代码
可是这样会造成页面从最小化到最大化时内容不发生变化。如果在JSP页面中单独引入这些是可以的,如下:
&script src=&common/miniui/jquery-1.6.2.min.js& type=&text/javascript&&&/script&
& & & & & & & & &script src=&common/miniui/boot.js& type=&text/javascript&&&/script&
& & & & & & & & &script src=&common/miniui/miniui/miniui.js& type=&text/javascript&&&/script&
& & & & & & & & &link href=&common/miniui/miniui/themes/default/miniui.css&
& & & & & & & & & & & & rel=&stylesheet& type=&text/css& /&
& & & & & & & & &link href=&common/miniui/miniui/themes/icons.css& rel=&stylesheet&
& & & & & & & & & & & & type=&text/css& /&复制代码
请问有什么办法可以实现引用一个页面即可的方法呢?麻烦您了,谢谢!
注册时间最后登录阅读权限200积分7435精华0帖子
你不是已经易用boot.js了吗?
你参考我们的DEMO示例,一个页面只需要引用boot.js即可。
因为在boot.js内,我们自动帮你引用了jquery, miniui了。
Powered byliferay的js加载问题深度分析_小组_ThinkSAAS
liferay的js加载问题深度分析
liferay的js加载问题深度分析
今天遇到liferay一个很郁闷的问题
在开发环境中,直接访问liferay系统,没有问题。
在运行环境中,经过一个中间系统转发,通过https来访问liferay系统,结果页面上出现很多js错误,并且有些功能不能使用。
经过对页面的分析,发现页面存在css和js文件的缺失。
有点莫名其妙~~
比较两个环境,发现之后的环境与之前环境的区别为:经过了一次转发,以及使用了https。
确定是这个环境使访问liferay时缺失了某些js和css文件。
立即想考虑liferay是如何加载js和css文件的。
后来想到在配置文件中有网页内容传输以及js的相关配置,想试试对配置进行修改。
最后定位下来,是portal.properties下的属性 javascript.fast.load 在起作用。
设置 javascript.fast.load=false即可。
# Set this property to true to load the combined JavaScript files from the
# property"javascript.files"into one compacted file for faster loading for
# production. Set this property to false for easier debugging for
# development. You can also disable fast loading by setting the URL
# parameter"js_fast_load"to"0".
javascript.fast.load=false
该属性的含义:设置该属性为true,属性javascript.files中指定的js文件集将整合到一个文件中,进行压缩,然后加载,这样就能更快的加载。
如果设置为false,更容易在开发中进行调试。
也可以设置URL参数js_fast_load 为0,就不会快速加载。
为了更具体比较把该参数设置为false之后的区别,
分别保存下设置为true和false之后的同一个页面。
发现设置为false时,在保存的那个页面文件夹中多了很多js文件。
仔细比较下载下来的js文件名称:
当设置为true时,下载了5个js文件。everything_packed.js文件的大小为4M多。
当设置为false时,下载了43个js文件,包含上述5个中的四个js,除了everything_packed.js。
跟踪加载js的过程:
首先查看处理js相关的文件:
1,在portal.properties中的js相关设置:
javascript.files=
设置js文件列表;
javascript.fast.load=false
2,类com.liferay.portal.tools.JavaScriptBuidler中:
把javascript.files中的js文件列表合并到一个文件mergedFile中
public JavaScriptBuilder(String jsDir, String mergedFile) {
StringMaker sm = new StringMaker();
String[] files = PropsUtil.getArray(PropsUtil.JAVASCRIPT_FILES);
for (int i = 0; i & files. i++) {
String content = FileUtil.read(jsDir + files[i]);
sm.append(content);
sm.append("n");
FileUtil.write(mergedFile, sm.toString());
catch (Exception e) {
e.printStackTrace();
/html/common/themes/top_js.jsp中:
该页面判断属性javascript.fast.load值,并根据取值分别处理。即设为true的时候,只需要加载everything.packed.js文件,当设为false时,则循环加载属性javascript.files中设置的文件列表。
&c:choose&
&c:when test='&%= ParamUtil.getBoolean(request,"js_fast_load", PropsValues.JAVASCRIPT_FAST_LOAD) %&'&
everything_packed.js includes all of the JavaScript files. It is
autogenerated with the Ant build-javascript task.
&script src="&%= themeDisplay.getPathJavaScript() %&/everything_packed.js?bn=&%= ReleaseInfo.getBuildNumber() %&"type="text/javascript"&&/script&
&c:otherwise&
String[] javaScriptFiles = PropsUtil.getArray(PropsUtil.JAVASCRIPT_FILES);
for (int i = 0; i & javaScriptFiles. i++) {
&script src="&%= themeDisplay.getPathJavaScript() %&/&%= javaScriptFiles[i] %&?bn=&%= ReleaseInfo.getBuildNumber() %&"type="text/javascript"&&/script&
&/c:otherwise&
&/c:choose&
4,再看ant文件,portal-web/build.xml:
在部署时,把设置的js文件列表合并到文件everything_unpacked.js中,然后使用压缩处理类,压缩成文件everything_packed.js。
&target name="build-javascript"&
classname="com.liferay.portal.tools.JavaScriptBuilder"
classpathref="project.classpath"
fork="true"
newenvironment="true"
&arg value="docroot/html/js/"/&
&arg value="docroot/html/js/everything_unpacked.js"/&
&antcall target="build-javascript-cmd"&
&param name="js.from.file"value="docroot/html/js/everything_unpacked.js"/&
&param name="js.to.file"value="docroot/html/js/everything_packed.js"/&
&/antcall&
&target name="build-javascript-cmd"&
classname="com.yahoo.pressor.YUICompressor"
classpathref="project.classpath"
fork="true"
newenvironment="true"
&arg line="--type js -o ${js.to.file} ${js.from.file}"/&
http://dean.edwards.name/download/#packer
http://homepages.nildram.co.uk/~9jack9/download/packer.wsh.zip
&!--&exec executable="cmd"&
&arg line="/c CScript /nologo ${project.dir}/tools/pack.wsf ${js.from.file} & ${js.to.file}"/&
&/exec&--&
由上面文件即可得出对js的处理流程:
在部署时,运行ant-&build.xml-&com.liferay.portal.tools.JavaScriptBuilder,进行压缩处理,文件生成到目录docroot/html/js/everything.packed.js。
页面展示时,页面/html/common/themes/top_js.jsp根据配置信息加载js文件。
存在的问题
这个过程中,还有一个疑问:在服务器目录下看到的everything.packed.js文件大小只有301k。
但是下载下来的页面,包含的everything.packed.js文件大小有4.52M。
因此下载下来的js并不是服务器目录上的那个everything.packed.js文件。
用户评论(0)
开发技术学习小组列表
PHP开发框架
缓存Memcache
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
手机客户端
ThinkSAAS接收任何功能的Iphone(IOS)和Android手机的客户端定制开发服务
让ThinkSAAS更好,把建议拿来。一个js问题,大家帮忙看看!
[问题点数:40分,无满意结帖,结帖人wushixt007]
一个js问题,大家帮忙看看!
[问题点数:40分,无满意结帖,结帖人wushixt007]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
本帖子已过去太久远了,不再提供回复功能。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
Js问题分析js影响页面性能
下载积分:500
内容提示:Js问题分析js影响页面性能
文档格式:PDF|
浏览次数:105|
上传日期: 18:15:10|
文档星级:
该用户还上传了这些文档
Js问题分析js影响页面性能
官方公共微信}

我要回帖

更多关于 js缓存问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信