×

js include

js include(如何实现Javascript的include功能)

admin admin 发表于2024-02-22 07:53:55 浏览25 评论0

抢沙发发表评论

各位老铁们好,相信很多人对js include都不是特别的了解,因此呢,今天就来为大家分享下关于js include以及如何实现Javascript的include功能的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

如何实现Javascript的include功能

js为什么需要include?让我们想想这样1个场景,a.js 需要用到1个公用的common.js,当然你可以在用到a.js的页面使用《script src="common.js"》,但假设有5个页面用到了a.js,你是不是要写5遍《script。而且要是以后a.js 又需要引用common2.js,你是不是又的修改5个页面了? 已有js include的一些问题   在写这个之前在网上搜索了些资料,发现以前写的include都存在2个问题,这也是include需要解决的比较重要的2个问题。   1、相对路径的问题: 在a.js中使用include("../js/common.js"); include 函数中肯定是使用相对路径,是相对a.js的路径。而a.js在html中使用《script》嵌入有可能是相对路径,有可能是绝对路径。 include函数如何才能真正确定common.js的绝对路径,或者是相对html的相对路径。网上一些为了解决这个问题,还需要加一些js变量,不方便。   2、引用的问题。 网上include函数的实现几乎都是使用下面2种方式插入common.js       document.write("《script src=’" + .. + "》《/script》")     或者       var s = document.createElement("script");       s.src = ...;       head.insertAfter(s,...);     document.write 输出的脚本会在a.js后面加载,而createElement("script")创建的脚本是非阻塞加载。 所以如果在common.js加载完毕之前,a.js中调用了common.js的函数就会报错。 实现   解决上面2个问题,就可以实现js include。   第1个问题,我的方法是先获取到a.js在html中的绝对路径(如果是相对路径,就转为绝对路径),然后再把common.js的路径转为绝对路径。   第2个问题,采用同步的ajax来请求common.js,这样就不会出现引用问题。   实现代码如下: 复制代码 代码如下:// 根据相对路径获取绝对路径 function getPath(relativePath,absolutePath){ var reg = new RegExp("\\.\\./","g"); var uplayCount = 0; // 相对路径中返回上层的次数。 var m = relativePath.match(reg); if(m) uplayCount = m.length; var lastIndex = absolutePath.length-1; for(var i=0;i《=uplayCount;i++){ lastIndex = absolutePath.lastIndexOf("/",lastIndex); } return absolutePath.substr(0,lastIndex+1) + relativePath.replace(reg,""); } function include(jssrc){ // 先获取当前a.js的src。a.js中调用include,直接获取最后1个script标签就是a.js的引用。 var scripts = document.getElementsByTagName("script"); var lastScript = scripts; var src = lastScript.src; ***隐藏网址***// a.js使用相对路径,先替换成绝对路径 var url = location.href; var index = url.indexOf("?"); if(index != -1){ url = url.substring(0, index-1); } src = getPath(src,url); } var jssrcs = jssrc.split("|"); // 可以include多个js,用|隔开 for(var i=0;i《jssrcs.length;i++){ // 使用juqery的同步ajax加载js. // 使用document.write 动态添加的js会在当前js的后面,可能会有js引用问题 // 动态创建script脚本,是非阻塞下载,也会出现引用问题 $.ajax({type:’GET’,url:getPath(jssrc,src),async:false,dataType:’script’}); } } 在a.js中直接使用 include("../js/common.js");

jsp:include js能共用么

分情况,你要是调用的A页面,那么B页面里引用c方法是有效的。如果是直接调用的B页面就不行了!你试试就知道了哦!!

使用标签后JavaScript不起作用

是否你在另一个页面中写了相同的方法也就是跟你的js代码相同的方法名? 问题补充回答:在js中写一个alert方法看是否进入到了你的js里面另外使用《%@ include file="文件路径" %》这个替换《jsp:include》试一试 继续补充回答:包含文件中要避免使用《html》、《/html》、《body》、《/body》,因为这将会影响在原来JSP 网页中同样的标签,这样做有时会导致错误。

template.js中include的功能是什么

结构上非常简单,但template插件却提供了不错的模版功能,我们根据API来慢慢看这个框架。

如果在原型上添加方法,这一般都是暴露给外部调用的API 

js或者jquery怎么获取include嵌套的页面里面的值,求大神指点

《%@ include file="b.jsp"%》这种嵌套方式和直接吧b.jsp里面的内容直接复制到a.jsp里面的做法是一样的道理. 所以要想取得b.jsp里面的值, 平时怎么写就怎么写, 只要你确保include代码写在你取值的前面就行了

在js中使用freemarker的标签比如 include 等

你可以用$(document).ready(function(){ $(’#div’).text(’《#include "uav/page/center.html" encoding="utf-8"/》’);});或者把你的这段js代码放到页面的末尾.都是等页面加载完再加载这段!

OK,关于js include和如何实现Javascript的include功能的内容到此结束了,希望对大家有所帮助。