Plupload同請求批量上傳問題解決思路

最近在使用plupload的做圖片上傳時,有同一個請求上傳多張圖片的需求,而對于選擇多張圖片的上傳,plupload是分開多次請求的,由于之前使用plupload時多是采用選擇即上傳的方式,所以沒有發現。

翻閱源碼,發現有如下一段代碼。 查看更多...

移動端使用FormData實現異步上傳

FormData是什么呢?FormData是XMLHttpRequest Level 2添加的一個新的接口,利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件,還可以使用XMLHttpRequest的send()方法來異步的提交這個"表單"。比起普通的ajax,使用FormData的最大優點就是我們可以異步上傳一個二進制文件。

所有主流瀏覽器的較新版本都已經支持這個對象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。為什么標題說移動端呢?很明顯,國內很多網站什么的還在兼容IE8甚至IE7,所以,這個方案在PC端并不是那么好用。早在兩年前就有同事不計后果的用上了這個,后來測試發現在IE8下報錯才跑來問我,我看了下同事寫的代碼才發現是個無解的問題,于是同事就開始改造回傳統上傳模式了。

回歸主題,移動端就不同了,目前手機飛速得更新換代,外加上主流手機系統基本都是webkit內核,用上FormData可以說是基本沒什么后苦之憂了。那么糾結該怎么用呢? 查看更多...

CORS跨域請求[簡單請求與復雜請求]

CORS即Cross Origin Resource Sharing(跨來源資源共享),通俗說就是我們所熟知的跨域請求。眾所周知,在以前,跨域可以采用代理、JSONP等方式,而在Modern瀏覽器面前,這些終將成為過去式,因為有了CORS。

CORS在最初接觸的時候只大概了解到,通過服務器端設置Access-Control-Allow-Origin響應頭,即可使指定來源像訪問同源接口一樣訪問跨域接口,最近在使用CORS的時候,由于需要傳輸自定義Header信息,發現原來CORS的規范定義遠不止這些。

CORS可以分成兩種:

1、簡單請求
2、復雜請求

一個簡單的請求大致如下 查看更多...

QQ內置瀏覽器下網頁行高、字體大小顯示異常解決

最近手機端測移動網頁,偶然發現,iOS下訪問都正常的頁面,Android下微信內嵌瀏覽器、自帶瀏覽器等都正常,唯獨手機QQ內嵌瀏覽器下顯示略不正常,比如設置了16px字體,看起來明顯沒有16px,而網頁部分元素是由行高撐起的,沒有固定高度。于是,正常的頁面在QQ內嵌瀏覽器中顯示出現沒有垂直居中、元素高度縮小等。

一開始以為是兼容問題,簡單搜了下,只有看到知乎上有人問類似問題,感覺有點不可思議,感覺這么"大"的問題不可能沒人發現,于是就懷疑自己的寫法是否有問題,首先打開頁面時,在界面上打出某元素的font-size,結果,和設置的值14px相差甚遠,算了一下,只有設置像素的79%。 查看更多...

簡易NodeJS、PHP跨域代理[Restful請求]

最近測試一些東西,需要跨域訪問Restful接口,因為是測試,不可能改變接口形式,所以jsonp方案直接Pass。

本地測試時簡單寫了幾行NodeJS代碼,對特定路徑下的請求進行轉發后回傳,因為使用WebStorm開發,NodeJS不可以和WebStorm內置服務器使用相同端口,雖然可以通過配置本地服務器,完全將NodeJS作為服務器,但那樣需要解決靜態資源的輸出,寫東西過多,偏離初衷,這里不再贅述。

不過如果你是做前后端完全分離的項目,大可以找個開源的Web框架來用,比如express等,這里不多介紹。

總之但思路就這樣了,可能不太完善,代碼如下: 查看更多...

兩行代碼繞過基于referrer的防盜鏈

去年年底,微信公眾號對圖文消息內的圖片做了防盜鏈設置,但驗證發現業務域名下引用微信公眾號圖文還不受影響,以為做了白名單處理,不料近期發現所有自己網站的頁面都不能正常顯示圖片,而是顯示微信的防盜鏈提示。

由于業務需要,公司產品通過微信公眾平臺提供的接口創建、維護圖文,大概去年8月15號,圖文創建接口對非官方圖片鏈接做了過濾,無奈將所有素材上傳至微信,與此同時,我們自己也有頁面需要顯示對應圖文信息,面對微信的防盜鏈屏蔽,想過維護兩個圖片路徑,本地圖文顯示時替換為本地圖片URL,后面感覺這樣太影響效率,為了緊急修復圖片不能顯示的問題,遂通過簡單的代碼繞過了微信防盜鏈。

下面是核心代碼(PHP) 查看更多...

Java方法究竟是值傳遞還是引用傳遞?

一直以來,Java地址引用概念的影響,認為Java傳參分為值傳遞和引用傳遞,最近因為追究JavaScript的傳遞方式,遂翻出Java相關資料看了一下,發現原來這么久一直理解錯了。Java中只有按值傳遞,沒有按引用傳遞!

這里同樣涉及到堆與棧的概念,至于區別,這里就不再贅述了,和JavaScript的說法類似,可以參考前面的《JavaScript函數究竟是值傳遞還是引用傳遞?》。

對于這個問題,網上說法各異,《Core Java》的作者,以及JAVA的創造者James Gosling都認為當一個對象或引用類型變量被當作參數傳遞時,也是值傳遞,這個值就是對象的引用,因此JAVA中只有值傳遞,沒有引用傳遞。還有一種說法是引用可以看作是對象的別名,當對象被當作參數傳遞時,傳遞的是對象的引用,因此是引用傳遞。當然,也有《Thinking in Java》作者Bruce Eckel站在了中立的立場上。 查看更多...

JavaScript函數究竟是值傳遞還是引用傳遞?

很多人認為 JavaScript中函數進行參數傳遞有兩種方式:基礎類型值傳遞;對象類型按引用傳遞。很長一段時間我也這樣認為,其實都是一種值傳遞。

事情是在近期QQ群里偶爾聊到,JavaScript函數傳值到底是值傳遞還是引用傳遞,看到有人說都是值,原因即使是對象也是傳了對象的拷貝,即對象的值本身。本著對技術的刨根問底兒的精神,查了相關資料,得到結論:ECMAScript中所有函數的參數都是按值來傳遞的

下面是一些相關概念的解釋,整理自網絡:

眾所周知,在JavaScript中數據類型可以分為兩類:

原始數據類型值 primitive type,比如Undefined,Null,Boolean,Number,String。

引用類型值,也就是對象類型 Object type,比如Object,Array,Function,Date等。 查看更多...

Jersey2 模擬登陸網站及登陸后301重定向識別

周末群里有人希望幫他搞個程序采集某個網站數據,雖然說沒什么技術難點又不缺那點錢,但是好奇心還是比較重,沒事看了看,最基本的基于SESSION的認證,POST個用戶名密碼即可,用java寫的話我通常采用HttpClient,很強大,很通用,但是最近時不時有看過Jersey2的一些東西,貌似和我之前熟知的1.x差異挺大,就剛好拿來試試(不是接單幫搞數據,單純的玩技術,采集別人數據的事我可不做)。

實踐下來,發現Jersey2的API寫起來更清爽了,因為是用來采集,這里只用了Jersey-client相關功能,期間遇到一些小問題,就是登陸成功后目標網站是301重定向到新頁面的,而Jersey2的API調用后還保留在原始頁面,最終導致SESSION無效,不能進行下一步操作,Stackoverflow上搜了下,最終解決了,很簡單,如下 查看更多...

Virtualbox 安裝時發生嚴重錯誤[解決]

看到有人發了eclipse che的截圖,感覺挺清爽,就打算裝上看看,不料安裝Virtualbox的時候一直自動回滾,以為是曾經裝過Virtualbox卸載不徹底,無意間在網上看到一帖子說是DeviceInstall服務沒有開啟,打開服務一看,狀態果然是已停止,打開后重新安裝,順利成功,這里記錄一下,以便有遇到同樣問題的童鞋參考。

另外順便提一句,eclipse che看似不錯,不過配套要安裝Virtualbox、Git和Docker,略顯麻煩,目前還沒有玩轉,后面有機會分享下試用體驗。

黑龙江22选5开奖