求双世宠妃全集百度云盘百度云链接

javascript文件中获取当前文件路径 - ThinkPHP框架
在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径。在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径。研究了下,发现我们可以用下面几种方法来实现:
1,在jQuery中获取当前JS文件路径
在jQuery中获取当前JS文件的路径比较简单,只需要如下一行代码就搞定。var&__FILE__&=&$("script").last().attr("src");
注意,我们一般把这行代码放到文件的开头,让文件加载的时候就立即执行,这样页面中的script元素中,当前文件恰好是最后一个script。我们千万不要把这行代码放到$(document).ready();
$(function(){&&&});中运行,因为如果放到这些语句中去的话,页面的DOM对象已经加载完毕,当前的script就不一定是最后一个script了,从而导致获取的路径不正确。
2,原生javascript获取当前JS文件路径
在原生的javascript中,要获取当前JS文件路径有两种方法。第一种其实思路和在jQuery中是一样的:var&__FILE__,&scripts&=&document.getElementsByTagName("script");
__FILE__&=&scripts[scripts.length&-&1].getAttribute("src");第二种方法是利用浏览器的异常处理机制,但是这种方法不支持IE10以下版本的IE浏览器:&&&&var&__FILE__;
&&&&&&&&throw&Error("获取JS路径有误");
&&&&}catch(ex){
&&&&&&&&if(ex.fileName)&//Firefox
&&&&&&&&&&&&__FILE__&=&ex.fileN
&&&&&&&&else&if(ex.stack)//Chrome&或&IE10
&&&&&&&&&&&&__FILE__&=&(ex.stack.match(/at\s+(.*?):\d+:\d+/)||['',''])[1];
&&&&&&&&else&if(ex.sourceURL)//Safari
&&&&&&&&&&&&__FILE__&=&ex.sourceURL;
&&&&}在原生的javascript中获取当前文件路径的时候,建议使用第一种方法,兼容所有浏览器,第二种方法仅供参考。
积分:8886
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。RT后台怎么取值,取不到用的是springmvcHTML code&m id="idForm" enctype="multipart/form-data"&
&input type="file" id="idFile" name="file"/&
&br/&&br/&
&input type="submit" id="btn" value="上传"/& &/form&或者什么好的文件上传的插件推荐一下,可以无刷新上传的
--------------------------------------
Uploadify插件。js如何获取file控件的完整路径具体实现代码
字体:[ ] 类型:转载 时间:
需要隐藏input file然后获取它的值,但连jquery都无法获取它的值,下面与大家分享下使用js的具体获取方法,感兴趣的朋友可以参考下哈
今天做一个项目,需要隐藏input file然后获取它的值,但连jquery都无法获取它的值
代码如下: &script type="text/javascript"& //FX获取文件路径方法 function readFileFirefox(fileBrowser) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert('无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New-&B (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件');
} var fileName=fileBrowser. //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。 var file = Components.classes["@mozilla.org/file/1"] .createInstance(Components.interfaces.nsILocalFile); try { // Back slashes for windows file.initWithPath( fileName.replace(/\//g, "\\\\") ); } catch(e) { if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
} if ( file.exists() == false ) { alert("File '" + fileName + "' not found.");
} return file. } //根据不同浏览器获取路径 function getvl(){ //判断浏览器 var Sys = {}; var ua = navigator.userAgent.toLowerCase();
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; var file_url=""; if(Sys.ie&="6.0"){ //ie5.5,ie6.0 file_url = document.getElementById("file"). }else if(Sys.ie&="7.0"){ //ie7,ie8 var file = document.getElementById("file"); file.select(); file_url = document.selection.createRange(). }else if(Sys.firefox){ //fx //file_url = document.getElementById("file").files[0].getAsDataURL();//获取的路径为FF识别的加密字符串 file_url = readFileFirefox(document.getElementById("file")); } //alert(file_url); document.getElementById("text").innerHTML="获取文件域完整路径为:"+file_ } &/script& &h1&JS获取文件域完整路径的方法,兼容不同浏览器&/h1& &div id="text" style="color:#f00;"&&/div& &input type="file" id="file" /& &input name="" type="button" value="获取" onClick="getvl();"&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具& & 今天做一个项目,需要隐藏input file然后获取它的值,但连jquery都无法获取它的值& & 复制代码代码如下:& &
论文写作技巧
上一篇:下一篇:
相关经验教程将一段js脚本提取为一个单独的文件
我的图书馆
将一段js脚本提取为一个单独的文件
原来我们在header.jsp页面需要实现根据后台数据,更换图标样式的功能.具体情况如下&&这里顺便说一下,是如何实现这个图标切换的.我在js中定义了一个定时器.定时通过ajax请求去查看数据库中是否有未读消息.然后根据返回结果显示图标.&%@ page language="java" pageEncoding="UTF-8" %&&%@ taglib prefix="c" uri="/jsp/jstl/core" %&&%@ taglib prefix="fmt" uri="/jsp/jstl/fmt" %&&%@ taglib prefix="fn" uri="/jsp/jstl/functions" %&&c:set var="ctx" value="${pageContext.request.contextPath}"/&&link href="${ctx}/static/css/stressing/detail.css" rel="stylesheet" type="text/css" /&&script type="text/javascript"&& &$(function(){
& //每隔5分钟执行一次定时任务
& refreshAjax();
& setInterval(refreshAjax, 5*60*1000);& &});& && &function refreshAjax(){
& requestAjax();& &};& && &function requestAjax(){
& RcmsAjax.ajaxNoMsg ("${ctx}/system/message/query.do?search_EQ_status=0&type=recived",requestMessageAjax);
& RcmsAjax.ajaxNoMsg ("${ctx}/system/notice/query.do",requestNoticeAjax);& };& &&& function requestMessageAjax(data){&
& var messageSize = data.result.result.
& if(messageSize&0){
$("#message").removeClass().addClass("head_news1 globle_img fl");
$("#message").removeClass().addClass("head_news globle_img fl");
var messages=eval(data.result.result);
var ss='&li&系统消息:&/li&';
var len=messages.length&3?3:messages.
for(var i=0;i&i++){
& & & & & ss+='&li&&a href=\"${ctx}/system/message/toViewPage.do?id='+messages[i].id+'\"&'+messages[i].message.title+'&/a&&/li&';
$("#messages").html(ss);
& }; function requestNoticeAjax(data){
var noticeSize = data.result.result.
if(noticeSize&0){
$("#notice").removeClass().addClass("head_system1 globle_img fl mr15");
$("#notice").removeClass().addClass("head_system globle_img fl mr15");
var notices=eval(data.result.result);
var ss='&li&公告:&/li&';
if(notices.length&0){
& & &ss+='&li&&a href=\"${ctx}/system/notice/toViewPage.do?id='+notices[0].id+'\"&'+notices[0].title+'&/a&&/li&';
$("#notices").html(ss);
}& &};&/script&&div class="facing mt-5"&& & &ul class="fr mr35 mt3 common_id1"&& & & &
&li class="head_system globle_img fl mr15" id="notice"&//系统公告的图标& & & & & & &a href="${ctx}/system/notice/toQueryPage.do" title="系统公告"&&&&&&/a&& & & &
&/li&& & & &
&li class="head_news globle_img fl mr10" id="message"&//系统消息的图标& & & &
&a href="${ctx}/system/message/toQueryPage.do?type=reviced" title="系统消息"&&&&&&/a&& & & &
&/li&& & &/ul&&/div&中间的&script&&/script&就是实现更换图标样式的代码.可是现在要求.希望能够将这段js代码提取出来,设置成面向对象的形式.将这段js代码提取出来,写成一个单独的文件,然后将他引入到这个页面.下面就是这个js文件的实现.&最后再在header.jsp页面引入这个文件.因为这个文件里使用了jquery的,所以还要引入jquery.js.在header.js文件中没有引入,因为,这个文件已经在其他地方引入了.&&&下面是message.js文件的源文件=============================源文件 & & & & & 开始========================//首先定义一个命名空间window.message ,如果页面已经有window.message这个命名空间了,那么就直接调用.如果没有,就创建一个新的window.message = window.message||{};//定义这个页面的属性,rootPath是这个页面的属性,jsUtil.getRootPath()是属性的值,但是一个变量.从其他jquery页面取得.获得的是页面的绝对路径message.setting={ rootPath:jsUtil.getRootPath()};//初始化message.在页面的底部自动调用init()方法,初始化执行.message.init=function(){ message._requestAjax(); setInterval(message._refreshAjax, 10*60*1000);};/*&* 这里定义了一个函数.这个函数就相当于function requestMessageAjax(){}方法,&* 当在jquery中为方便其他对象调用.定义成requestMessageAjax = function (data){}形式&* 其中每一个变量名前都要加上message,表示是message这个js类的属性&*/message._requestMessageAjax = function (data){&
& var messageSize = data.result.result.&
* 如果数据库中查询出未读消息数&0,则显示带红点的图标,否则显示不带红点的图标
& if(messageSize&0){
$("#message").removeClass().addClass("head_news1 globle_img fl");
$("#message").removeClass().addClass("head_news globle_img fl");
var messages=eval(data.result.result);
var ss='&li&系统消息:&/li&';
var len=messages.length&3?3:messages.
for(var i=0;i&i++){
& & & & & ss+='&li&&a href=\"'+message.setting.rootPath+'/system/message/toViewPage.do?id='+messages[i].id+'\"&'+messages[i].message.title+'&/a&&/li&';
$("#messages").html(ss);};/**&* 这个是ajax的返回值处理&* @param {Object} data&*/message._requestNoticeAjax=function (data){
var noticeSize = data.result.result.
* 如果数据库中查询出未读消息数&0,则显示带红点的图标,否则显示不带红点的图标
if(noticeSize&0){
$("#notice").removeClass().addClass("head_system1 globle_img fl mr15");
$("#notice").removeClass().addClass("head_system globle_img fl mr15");
var notices=eval(data.result.result);
var ss='&li&公告:&/li&';
if(notices.length&0){
& & &ss+='&li&&a href=\"'+message.setting.rootPath+'/system/notice/toViewPage.do?id='+notices[0].id+'\"&'+notices[0].title+'&/a&&/li&';
$("#notices").html(ss);
}};/*&* 在这里调用调用了其他属性,则直接调用,如 message._requestMessageAjax&*/message._requestAjax=function (){
& RcmsAjax.ajaxNoMsg (message.setting.rootPath+"/system/message/query.do?search_EQ_status=0&type=recived",message._requestMessageAjax);
& RcmsAjax.ajaxNoMsg (message.setting.rootPath+"/system/notice/query.do",message._requestNoticeAjax);};/*&* 当调用该js的页面,自动初始化该页面.即执行init()中的方法&*/$(function(){ message.init();});=============================源文件 & & & & & 结束========================
发表评论:
TA的最新馆藏[转]&}

我要回帖

更多关于 双世宠妃百度网盘链接 的文章

更多推荐

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

点击添加站长微信