javascript 在js文件中获取路径

如果在*.js文件中获取当自己当前的路径是很重要的。

举个例子,如果一个css文件中引用图片,如background-img: url(‘./Images/bg.png‘)。那么图片的路径,是相对于css文件而言的。

但是,如果我们再js文件中引用图片,如img.src = ‘./images/bg.png‘;  但是,图片却不是根据js的相对路径的。而是根据(引用该js)的html的相对路径来决定的。这显然不合理、

所以如果我们能获取js文件的绝对路径的话,就会好很多。譬如 img.src = path + ‘./Images/bg.png‘;

获取当前js文件的路径。

var getPath = function(){
    var jsPath = doc.currentScript ? doc.currentScript.src : function(){
      var js = doc.scripts
      ,last = js.length - 1
      ,src;
      for(var i = last; i > 0; i--){
        if(js[i].readyState === ‘interactive‘){
          src = js[i].src;
          break;
        }
      }
      return src || js[last].src;
    }();
    return jsPath.substring(0, jsPath.lastIndexOf(‘/‘) + 1);
  }()

原文地址:https://www.cnblogs.com/CyLee/p/8302087.html

时间: 2024-08-26 15:23:18

javascript 在js文件中获取路径的相关文章

JSFinder 一个从JS文件中获取url和子域名的工具

关于 JSFinder JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website. JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具. 提取URL的正则部分使用的是LinkFinder By : Threezh1 Blog: https://threezh1.github.io/ https://threezh1.com/2019/06/10/JSFin

JAVA文件中获取路径及WEB应用程序获取路径方法

原文转自:http://www.tqcto.com/article/recommend/141.html 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径: http://www.sun.com/index.htm也代表了一个URL绝对路径: `相对路径`:相对与某个基准目录的路径,包含Web的相对路径(HTML中的相对目录). 例如: 在Servlet中,"/"

如何在js文件中实现获取request.getCotextPath();

我们在jsp中可以方便的使用“request.getCotext()”来获取工程的根目录. 但是如果我们的js代码存在一个单独的js文件中,这时候再想获取根目录,我们就要自己截取了.可以采用下面的方式. 为了方便解释我分开书写. var locationPath = window.location; //这个locationPath可以获取你当前浏览器请求的整个URL包括通过?加在后面的参数.相当于request.getRequestURL. var path = locationPath.pa

js文件中使用el表达式问题

作者:Sang 单独js文件不能用el表达式. 首先,JSP是由服务端执行的,EL表达式自然也由服务端解析执行,因此如果EL所在的脚本在JSP页面内,它是可以获取到值的,这个值在服务器端返回到浏览器端时已经解析完毕,浏览器端只是呈现而已,但是如果在单独的JS文件中写EL,会怎么样呢?这个时候是无法获取的,因为JavaScript是客户端执行,单独的JS文件不在服务器的解析执行之中,EL是不起任何作用的,这个时候它就等同于普通的字符串,那么如何解决这种情况呢? 一:可以通过window.onloa

window.location.href 放置在单独的JS文件中使用时问题

场景:假设当前浏览器地址栏的地址是:http://localhost:8888/SSHBoot/tourist/homeMainAction_signInUI.do, 现在我想在点击按钮时定位到“http://localhost:8888/SSHBoot/member/adminMainAction_mainUI.do”这个地址 以下js代码是没问题,将js脚本放置到页面中 <html> <head> <meta http-equiv="Content-Type&q

Delphi 多文件拖放获取路径示例

unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, ShellAPI; type  TForm1 = class(TForm)    Memo1: TMemo;    procedure FormCreate(Sender: TObject);  private    // 当文件拖放至窗体中后,系统将向

JS文件中加载jquery.js

原文链接:http://blog.csdn.net/whatday/article/details/39553451 最近有一个需求: 1.在一个html中只能引入一个JS文件 不能有JS代码和其他JS文件的引入 2.这个JS文件中 还要引入其他的JS文件 3.所有JS功能都写在这个JS文件中 这些代码用到了jQuery相关的东东 所以这里第一个需要解决的就是怎么引入jquery.js 在网上搜索了很多方法都不太实用,由于我自己离开WEB多年 最后向朋友询问得到以下代码 1.js [javasc

Js文件中调用其它Js函数的方法

Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分代码在另外一个Js文件中已经完成了,自己只需要调用这个方法再加上几句代码就可以实现所需的功能.我们知道,在html中,利用<script language="javascript" type="text/javascript" src="../script.js"></script>引入的两个js是

js文件中函数前加分号和感叹号是什么意思?

本文转自:http://blog.csdn.net/h_o_w_e/article/details/51388500 !function(){}();   !有什么用? 从语法上来开,JavaScript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始.所以,如果在一个单独的JS文件中,开头的分号是没有任何意义的,可以删掉. 叹号是逻辑运算符,是"非"的意思,常见这种写法 if(!true){}:而将运算符加载函数定义的前面,则是将函数看做一