⑴ JS中,为什么不能直接写"url("this.src")"而一定要写成"url("+this.src+")"详细代码见下图
"this.src"是表示字符串,传的就是“this.src”;
url("+this.src+")传的就是src的值。
这样说明白?
⑵ 用JS将URL中的汉字编码成GBK,怎么弄
varGB2312UnicodeConverter={
ToUnicode:function(str){
returnescape(str).toLocaleLowerCase().replace(/%u/gi,'\u');
}
,ToGB2312:function(str){
returnunescape(str.replace(/\u/gi,'%u'));
}
};
用此方法试试。
个人觉得这个转码的工作最好还是在接收端做
⑶ 使用js的正则 提取字符串中的URL
把可能有的url地址发几个上来当例子 <textarea id="txt" cols=40 rows=10> </textarea> <input type="button" value="提取" onclick="flt()"> <script> function flt() { var str=document.getElementById("txt").value; var re=/(http(s)?\:\/\/)?(www\.)?(\w+\:\d+)?(\/\w+)+\.(swf|gif|jpg|bmp|jpeg)/gi; var arr=str.match(re); document.getElementById("txt").value=""; for(var i=0;i<arr.length;i++) { document.getElementById("txt").value+=arr[i]+"\n"; } } </script>
⑷ require方法在js编译后被注释
RequireJS Optimizer 对脚本的优化支持目前流行的UglifyJS 和 Closure Compiler 两种压缩方式,UglifyJS 需要 NodeJS 环境支持,而Closure Compiler 则需要 java 环境。这篇文章是以运行于 NodeJS 的 UglifyJS 来优化的,这也是RequireJS Optimizer 默认的压缩方法。
首先需要安装Node 0.4.0,然后下载r.js,下载好以后就可以在命令行里对前端代码进行优化了。r.js的参数传递使用方式,一是直接加在命令行后面,如下:
node r.js -o baseUrl=. paths.jquery=some/other/jquery name=main out=main-built.js
二是新建一个配置文件,例如 build.js(推荐使用这种方式),这样配置更方便,如下:
node r.js -o build.js
build.js 的配置代码如下:
{ baseUrl: "../js", dir: "../dist", optimize: "uglify", optimizeCss: "standard.keepLines", mainConfigFile: "../js/main.js", removeCombined: true, fileExclusionRegExp: /^./, moles: [
{ name: "app/dispatcher",
},
{ name: "app/in-storage", exclude: [ "jquery", "app/common", "pkg/DatePicker/app"
]
}
]
}
基本参数介绍
appDir
应用程序的最顶层目录。可选的,如果设置了的话,r.js会认为脚本在这个路径的子目录中,应用程序的文件都会被拷贝到输出目录(dir 定义的路径)。如果不设置,则使用下面的 baseUrl 路径。
baseUrl
默认情况下,所有的模块都是相对于这个路径的。如果没有设置,则模块的加载是相对于 build 文件所在的目录。另外,如果设置了appDir,那么 baseUrl 应该定义为相对于 appDir 的路径。
dir
输出目录的路径。如果不设置,则默认为和 build 文件同级的 build 目录。
optimize
JavaScript 代码优化方式。可设置的值:
- "uglify:使用UglifyJS 压缩代码,默认值;- "uglify2":使用2.1.2+ 版本进行压缩;- "closure": 使用Google's Closure Compiler 进行压缩合并,需要 Java 环境;- "closure.keepLines":使用Closure Compiler 进行压缩合并并保留换行;- "none":不做压缩合并;optimizeCss
CSS 代码优化方式,可选的值有:
- "standard":标准的压缩方式;mainConfigFile
如果不想重复定义的话,可以使用这个参数配置 RequireJS 的配置文件路径。
removeCombined
删除之前压缩合并的文件,默认值 false。
fileExclusionRegExp
要排除的文件的正则匹配的表达式。
moles
定义要被优化的模块数组。每一项是模块优化的配置,常用的几个参数如下:
- `name:`模块名;- `include:`额外引入的模块,`create:`如果不存在,是否创建。默认`false`;- `exclude:`要排除的模块。有些模块有公共的依赖模块,在合并的时候每个都会压缩进去,例如一些基础库。使用 exclude 就可以把这些模块在压缩在一个更早之前加载的模块中,其它模块不用重复引入。其它事项
RequireJS 配置也可以放到 RequireJS Optimizer配置文件里面,例如:
RequireJS Optimizer 的配置参数还有很多,完整的参数介绍可以看这里:
example.build.js
为方便运行,可以新建一个批处理文件:
注意事项:RequireJS Optimizer 只支持使用 require 和 define 语法定义的模块,因此下面这种通过变量定义的方式是不支持的:
而如果是这样定义则可以:
或者:
进一步优化
使用 r.js 优化后的代码可以使用almond来加载。almond 是一个轻量的 AMD 加载器,提供了最基础的 AMD API 实现以及模块加载功能。almond 只有不到 400 行代码,要比 RequireJS 小很多。可以使用 r.js 把 almond 一起合并到业务代码的前面,如下:
almond 特别适合使用 AMD 的网站或应用,但也有一些限制:
所有的模块编译为一个文件,没有动态的加载;
所有的模块都需要在 define() 定义 ID 和依赖,这个RequireJS Optimizer 会处理;
只能有一个requirejs.config() 或者 require.config() 调用;
不能使用 Require JS 多版本功能;
不能使用require.toUrl() 或者 require.nameToUrl();
不能使用packages/packagePaths 配置。
如果你的项目中没有这些问题的话,可以放心使用 almond 进行加载。
⑸ 各位前辈帮我看看这个JS的url是什么意思
根据以往的经验,楼主的网站的网址形式应该做成了类似的以 / 分隔的,以利于搜索引擎,如
index/question/javascript,这种形式的应该是在框架下弄的,如我是弄php的,所知的有ci tp yii等,所以楼主上的url形式,是个相对路径的页面,不行你找找
⑹ 怎样用jquery编码和解码url
解码和编码url在原生JS里就极其简单,不需要用到jq,代码如下
encodeURI("内容");//编码URL
encodeURIComponent("内容");//编码URL
decodeURI("内容");//解码URL
decodeURIComponent("内容");//解码URL
⑺ 如何通过js获取url地址的参数
js可以通过以下方法获取url地址的参数:
1、比如有如下url请求:
http://..com/question/586494936989579005.html?entry=business_qb&ishq=1
2、可以用一下方法获取参数:
var params = function(str) {
function urldecode(str) {
return decodeURIComponent((str+'').replace(/\+/g, '%20'));
}
function transformToAssocArray( prmstr ) {
var params = {};
var prmarr = prmstr.split("&");
for ( var i = 0; i < prmarr.length; i++) {
var tmparr = prmarr[i].split("=");
params[tmparr[0]] = urldecode(tmparr[1]);
}
return params;
}
var prmstr = window.location.search.substr(1);
return prmstr != null && prmstr != "" ? transformToAssocArray(prmstr) : {};
}();
⑻ 怎样在URL地址中使用javascript变量
写代码不要想当然, 多看文档
functionopenTBB(BA)
{
window.open("/request.ashx?action=add&id="+BA)
}
⑼ js反编译有谁知道这样格式的js是做了什么处理啊怎么反编译过来
将特殊符号转换成一个自己定义的字符串,需要使用的时候再替换回来,你可以试着用replace将&换成一个字符串,比如'_at_',当你需要解析url时候再replace回来
转义字符的话我没想好如何做,你如果用这个做出来了可以分享下
⑽ 用JavaScript访问一个URL但不打开窗口
假设你web service做的工作是一个保存数据操作,页面上一个保存按钮进行触发的话,两种办法
1.点保存页面无刷新完成操作,只能用AJAX,后台把你的保存操作用servlet调用,或者把保存操作单独写在JSP(假设你用的JSP)中,当然JSP会自动编译成servlet,效果一样, JS创建xmlhttprequest对象,get或post方法调用你的servlet或JSP地址.
2.点保存页面带刷新完成操作,在后台写servlet,servlet调用里保存操作以后加上本页的URL,点按钮调用servlet