小技巧:如何突破某些網站只能登陸後才能進行文字拷貝的限制
我寫公眾號文章時,經常需要從一些網站的文章上查閱一些資料。比如我想把這個網頁上的一個標題“SAP Fiori 2.0使用者體驗設計概念獲紅點大獎”進行拷貝。
然而當我按了鍵盤上的拷貝快捷鍵Ctrl C後,卻收到這個提示,告訴我只有登陸後才能夠進行復制操作。
可是為了登陸我得先註冊,有點麻煩。如果趕時間的話,可以使用這篇文章的小技巧,達到不用先註冊再登陸,也能任意拷貝網頁文字的效果。
下面是詳細步驟。
1. 和往常一樣開啟您想複製文字的網頁,先不忙按Ctrl C。按F12開啟Chrome瀏覽器的開發者工具。
切換到Network標籤頁。為了避免干擾,先點Clear按鈕把Network標籤頁下的網路請求全部清除掉。最後如下圖所示:
2. 和往常一樣,點選複製的快捷鍵Ctrl C。此時看到了意料之中的登陸框。然而我們關心的是:到底是哪一行JavaScript程式碼觸發了這個登陸框?
從Chrome開發者工具的Network標籤頁裡,我們找到了答案。
首先在Network標籤頁裡我們找到了登入對話方塊的實現檔案artlogin.html。接著,把滑鼠放到下圖示註了“2”的VN1134:1,Chrome開發者工具就會自動在一個懸浮視窗裡顯示出到底是哪一行JavaScript產生了artlogin.html的載入。答案就是標註了“3”的幾個函式。這幾個函式是以呼叫棧的方式顯示的。
最底層的呼叫棧裡的函式是DisplayPageinfo.document.body.oncopy。做過前端開發的朋友們只要看到這個oncopy,心中就有數了:這就是該網站處理使用者按了Ctrl+C進行文字拷貝的處理函式,oncopy又會呼叫copyArt函式。
現在我們就進入copyArt函式一探究竟。果然,下圖第3961行試圖讀取使用者對於當前網站的cookie資訊。如果cookie為空,那麼進入第3962行if語句的第一個分支:第3970行的$("#LayerLogin").load("/artlogin.html")負責的正是登陸對話方塊的載入。
講到這裡,解決方案已經很清楚了:在執行第3962行程式碼判斷網站cookie之前,我們隨便給變數CurUserNameCookiescgcg賦上一些內容,讓它的值不為空,確保進入IF的ELSE分支就行了。
如下圖,在Chrome開發者工具的Console標籤頁裡給Cookie變數賦值:
於是進入了我們期望的ELSE分支,此時,我在網頁上選中的文字“SAP Fiori 2.0使用者體驗設計概念獲紅點大獎”已經成功寫入JavaScript變數selhtml中,請大家看程式碼第3986行。
直接點Chrome開發者工具的"Continue"按鈕結束除錯,開啟記事本按貼上的快捷鍵Ctrl+V,成功了。
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2212541/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何登陸網站後臺伺服器網站伺服器
- 如何對JAVA物件進行深拷貝Java物件
- 怎麼查詢登陸網站後臺?(如何查詢網站後臺地址)網站
- ssh自動登陸和scp自動拷貝檔案
- 網站無法登陸網站
- oracle 登陸限制ipOracle
- 易優cms網站後臺登陸驗證碼錯誤,如何不使用驗證碼登陸?或者如何修復?網站
- 14 個拷貝陣列的 JS 技巧陣列JS
- Oracle9i 中如何限制登陸IPOracle
- oracle登陸限制指令碼Oracle指令碼
- [JS系列二]談談深拷貝和淺拷貝,如何實現深拷貝JS
- c# 模擬網站登陸C#網站
- iOS深淺拷貝小結iOS
- js的深拷貝和淺拷貝JS
- 物件的深拷貝與淺拷貝物件
- 在js中如何區分深拷貝與淺拷貝?JS
- vue深拷貝淺拷貝Vue
- python 指標拷貝,淺拷貝和深拷貝Python指標
- Git 小技巧:忽略某些檔案的更改Git
- JavaScript中的淺拷貝與深拷貝JavaScript
- VUE 中 的深拷貝和淺拷貝Vue
- 對淺拷貝和深拷貝的理解
- 淺拷貝與深拷貝的實現
- 【JavaScript】物件的淺拷貝與深拷貝JavaScript物件
- SCP和Rsync遠端拷貝的幾個技巧
- 網站修改登入密碼?如何修改網站後臺資訊?網站密碼
- 日本住宅IP的魅力:突破地域限制,暢遊日本網站網站
- 解決Mysql中只能通過localhost登陸不能通過ip登陸的問題MySqllocalhost
- 【JS】深拷貝與淺拷貝,實現深拷貝的幾種方法JS
- 一文搞懂Java引用拷貝、淺拷貝、深拷貝Java
- jquery之物件拷貝深拷貝淺拷貝案例講解jQuery物件
- C++拷貝建構函式(深拷貝,淺拷貝)C++函式
- iOS深拷貝和淺拷貝iOS
- JS深拷貝與淺拷貝JS
- Java深拷貝和淺拷貝Java
- 物件深拷貝和淺拷貝物件
- javascript 淺拷貝VS深拷貝JavaScript
- JavaScript 深度拷貝和淺拷貝JavaScript