js 正則提取頁面中的變數值

2022-02-25 17:34:40 字數 1018 閱讀 7817

有的網頁為了防止 tampermonkey 這類外掛程式讀取頁面中的 js 變數,把變數寫到了匿名自呼叫函式 self-invocation 中,例如

而我為了某些不可告人的目的必須讀取到變數 a 的值。

一種有效的方式是,使用 ajax 獲取當前頁面的源**,然後正則匹配中某個指定變數的值。

正則匹配

var s = '

var name = "hahahaha"';

var s = '

var name = "hahahaha";';

s.match(/var \w+ = (.+);/);

0: "

var name =

"hahahaha";"

1: ""hahahaha""

var s = '

var name = "hahahaha"; var age = 10;';

s.match(/var \w+ = (.+);/);

0: "

var name =

"hahahaha"

; var age = 10;

"1: ""hahahaha"

; var age = 10"//

避免貪婪匹配

s.match(/var \w+ = (.+?);/);

0: "

var name =

"hahahaha";"

1: ""hahahaha""

s.match(/var age = (.+?);/);

0: "

var age = 10;

"1: "10"

避免貪婪匹配

* -zero or more

*? - zero or more (non-greedy)

+ -one or more

+? - one or more (non-greedy)

? -zero or one

?? - zero or one (non-greedy)

Winform獲取js變數值

問題情境 webbrowser可以正常載入html頁面了,需要和js相互傳參。有個前提,c 程式和html不要直接影響 自己悟 所以直覺想法是通過中間介質進行傳輸,而想法第乙個介質便是檔案。如果沒有這個直接影響的前提,可以通過函式傳參,也可以通過隱藏控制項等等。思路解析 1.先實現通過json格式的...

變數應用 頁面傳Axure變數值

出現結果頁面如下 axure 被帶到了結果頁面上方搜尋框中,便於使用者確認或再次調整搜尋詞。而在登入的場景中就是輸入使用者名稱和密碼成功後,使用者名稱會出現在登入後的頁面中。開始設計前說個概念 請把 axure 當做乙個變數,變數取名a。回到axure來看看如何設計。首先新建兩個頁面,頁面1和頁面2...

變數值的修改

我們先來看一段程式 sublist 3 matrix sublist 3 matrix 0 0 matrix 0 0 x x x x x 上圖程式中,我們建立了乙個二維矩陣matrix,只是想去修改matrix元素,但是結果卻是第一行全部被修改了。這是什麼原因呢,如下圖所示 當我們利用乘法的形式來建...