|
>V9.22β14を公開しました。
>V9.22β14を公開しました。
非同期対応の関数がヘルプに記載がありますが、
・場所:目次− JavaScript対応−その他
(※ おそらく開発サイドでは、「250_JavaScript_appendix.html」という名称の
ファイルなんだろうとは思います)
これはどんどんリストが変わっていくのであれなんですが、
現状間違っています。
@hidemaruGlobal.filename は非同期に対応していない
A他いくつか抜けあり
現在非同期に対応しているものは多分下記です。
result
x
y
column
lineno
code
xpixel
ypixel
xpixel2
ypixel2
updatecount
inputstates
str
unichar
hex
getcolormarker
getfilehist
up
down
right
left
colormarker
setrenderpanetarget
browserpanecommand
renderpanecommand
iskeydown
config
getconfig
configcolor
getconfigcolor
setselectionrange
getselectedrange
- 結構ポロポロ間違ってるので、もしかして担当さんが横着で
「リスト化スクリプト組むのすらめんどくせっ」
と適当に手動でリスト作ってるかな? と思ったので
危うい判定ですが、一応 hm_jsmode_ts_definition 更新時用に、
検知に使ってるpythonはっつけておきます。
「HidemacJsGlobal.js」が .js で hidemaruGlobal とか eval とか定義しているjs
ファイルと想定。
@Pythonで...
#------------------------------------------------
# -*- coding: utf-8 -*-
import re
fout = open ("FindNativeJsFunc.txt", "w");
filepath = "HidemacJsGlobal.js" # ファイルパス
pattern1 = re.compile("hg\.([a-zA-Z0-9_]+) .+\s*var n=") # ネイティブの関数
番号明示的に打ってる
pattern2 = re.compile("hg\.([a-zA-Z0-9_]+) .+\._n") # ネイティブを示すパターン
with open(filepath, "r", encoding="utf8") as f:
for line in f:
ma1 = pattern1.search(line)
ma2 = pattern2.search(line)
if ma1:
fout.write(ma1.group(1) + "\n")
elif ma2:
fout.write(ma2.group(1) + "\n")
fout.close()
#-----------------------------------
A秀丸自体で処理するなら
#------------------------------------------------
jsmode "WebView2";
js {
debuginfo(2);
let text = hidemaru.getTotalText(); // 今 HidemaruJsGlobal.jsを開いてる
として...
let pattern1 = /hg\.([a-zA-Z0-9_]+) .+\s*var n=/; // ネイティブの関数番
号明示的に打ってる
let pattern2 = /hg\.([a-zA-Z0-9_]+) .+\._n/; // ネイティブを示すパターン
text = text.replace(/\r/g, ""); // \rはややこしくなるので消去
let lines = text.split("\n");
for(line of lines) {
var ma1 = pattern1.exec(line);
var ma2 = pattern2.exec(line);
if (ma1) {
console.log(ma1[1] + "\r\n");
} else if (ma2) {
console.log(ma2[1] + "\r\n");
}
}
}
#-----------------------------------
おそらく消滅予定であろう(?)
・navigate
・rendering
はまだjs上には記述が存在しているため、
プログラム上は検知してしまいます。
|
|