jQuery MiniUI

标题: 关于引入js问题,请解答 [打印本页]

作者: hehehaha    时间: 2013-1-9 15:59:17     标题: 关于引入js问题,请解答

在jsp页面中,只需<script src="common/miniui/boot.js" type="text/javascript"></script>
就可以使用miniui了。
boot里面已经引入了相关的js和css等,包括jquery.js

可为什么当我用jquery的 $时就会报错呢?
  1. 消息: 属性“$”的值为 null、未定义或不是 Function 对象
复制代码





作者: factory    时间: 2013-1-9 16:09:22

是不是jquery.js不存在还是什么原因,你试试单独引用jquery.js试试
作者: hehehaha    时间: 2013-1-9 16:16:30

factory 发表于 2013-1-9 16:09
是不是jquery.js不存在还是什么原因,你试试单独引用jquery.js试试
  1. <script src="common/miniui/boot.js" type="text/javascript"></script>               
  2.                 <script src="common/miniui/jquery-1.6.2.min.js" type="text/javascript"></script>
  3.                 <script src="common/miniui/miniui/miniui.js" type="text/javascript"></script>
  4.                 <link href="common/miniui/miniui/themes/default/miniui.css"
  5.                         rel="stylesheet" type="text/css" />
  6.                 <link href="common/miniui/miniui/themes/icons.css" rel="stylesheet"
  7.                         type="text/css" />
复制代码
这样是可以的。
不过我通过引入JSP文件的方式:
  1. <%
  2.         String root = request.getContextPath();
  3. %>

  4. <script src="<%=root%>/common/miniui/jquery-1.6.2.min.js"
  5.         type="text/javascript"></script>
  6. <script src="<%=root%>/common/miniui/boot.js" type="text/javascript"></script>
  7. <script src="<%=root%>/common/miniui/miniui/miniui.js"
  8.         type="text/javascript"></script>
  9. <link href="<%=root%>/common/miniui/miniui/themes/default/miniui.css"
  10.         rel="stylesheet" type="text/css" />
  11. <link href="<%=root%>/common/miniui/miniui/themes/icons.css"
  12.         rel="stylesheet" type="text/css" />
复制代码
上面是一个JSP文件里的所有代码。在其它的JSP中引入这个JSP,可以使用。但有个问题是最大化、窗口化时里面的tab控件不会跟着变。还是原来的大小。其它miniui的功能都正常。
这个问题是否与路径有关呢?

作者: fcrong    时间: 2013-1-10 09:42:35

在boot.js内,因为是document.write引入jquery.js,所以在此文件内,不能直接访问jquery。
你可以用
setTimeout(function(){
   //访问$就可以
}, 1);

在boot.js外的页面,是可以直接访问$的。
作者: hehehaha    时间: 2013-1-11 14:18:35

fcrong 发表于 2013-1-10 09:42
在boot.js内,因为是document.write引入jquery.js,所以在此文件内,不能直接访问jquery。
你可以用
setTim ...

在boot.js内,因为是document.write引入jquery.js,所以在此文件内,不能直接访问jquery。
请问其它文件也是如此吗?
那我可以这样:
每个页面引入一次jquery.js、boot.js。
请问这样可以么?
作者: niko    时间: 2013-1-11 14:58:08

不需要啊。
<script src="boot.js"></script>
<script>
alert($);
</script>
作者: hehehaha    时间: 2013-1-11 15:21:57

niko 发表于 2013-1-11 14:58
不需要啊。

谢谢,是这样。我现在有多个不同目录的JSP页面都需要这些引入,为了方便管理我把这些放到了一个JSP页面里,其它JSP引入这个JSP即可。如下:
  1. <script src="common/miniui/jquery-1.6.2.min.js" type="text/javascript"></script>
  2. <script src="common/miniui/boot.js" type="text/javascript"></script>
  3. <script src="common/miniui/miniui/miniui.js" type="text/javascript"></script>
  4. <link href="common/miniui/miniui/themes/default/miniui.css"
  5.         rel="stylesheet" type="text/css" />
  6. <link href="common/miniui/miniui/themes/icons.css" rel="stylesheet"
  7.         type="text/css" />
复制代码
  1. <%@ include file="/miniui-config/miniuibase.jsp"%>
复制代码

可是这样会造成页面从最小化到最大化时内容不发生变化。如果在JSP页面中单独引入这些是可以的,如下:
  1. <script src="common/miniui/jquery-1.6.2.min.js" type="text/javascript"></script>
  2.                 <script src="common/miniui/boot.js" type="text/javascript"></script>
  3.                 <script src="common/miniui/miniui/miniui.js" type="text/javascript"></script>
  4.                 <link href="common/miniui/miniui/themes/default/miniui.css"
  5.                         rel="stylesheet" type="text/css" />
  6.                 <link href="common/miniui/miniui/themes/icons.css" rel="stylesheet"
  7.                         type="text/css" />
复制代码


请问有什么办法可以实现引用一个页面即可的方法呢?麻烦您了,谢谢!

作者: niko    时间: 2013-1-11 16:55:57

晕。
你不是已经易用boot.js了吗?

你参考我们的DEMO示例,一个页面只需要引用boot.js即可。
因为在boot.js内,我们自动帮你引用了jquery, miniui了。
作者: q59200182    时间: 2017-11-28 09:32:29

AmVilCres 发表于 2017-11-28 09:25
为什么我把boot.js放入在webapp根目录下(maven项目),然后在同级的jsp中进行导入boot.js,可是运行提示文 ...

因为boot.js里面引入的其余js的路径不对了啥,你得把位置给找对了
作者: AmVilCres    时间: 2017-11-28 09:43:25

q59200182 发表于 2017-11-28 09:32
因为boot.js里面引入的其余js的路径不对了啥,你得把位置给找对了

提示的boot.js找不到,可是在那个jsp可以直接点过去的啊
作者: q59200182    时间: 2017-11-28 09:48:46

AmVilCres 发表于 2017-11-28 09:43
提示的boot.js找不到,可是在那个jsp可以直接点过去的啊

那就是你boot.js的路径都没有对啊,eclipse开发的是要加上你的项目名的
作者: AmVilCres    时间: 2017-11-28 09:54:09

q59200182 发表于 2017-11-28 09:48
那就是你boot.js的路径都没有对啊,eclipse开发的是要加上你的项目名的

还是不对,我是这样做的:
  jsp中 : <c:set var="ctx" value="${pageContext.request.contextPath}"/>
             .....
          <script src="${ctx}/boot.js" type="text/javascript"></script>

然后这个jsp和boot.js是在同一目录下的,都是在webapp目录下

作者: felt    时间: 2017-11-28 13:07:52

AmVilCres 发表于 2017-11-28 09:54
还是不对,我是这样做的:
  jsp中 :
             .....

请检查最后页面生成之后页面上引用到的实际路径,你肯定路径有错误。
作者: AmVilCres    时间: 2017-11-28 14:26:35

felt 发表于 2017-11-28 13:07
请检查最后页面生成之后页面上引用到的实际路径,你肯定路径有错误。

谢谢你!我再好好看看




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2