⑴ 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