event== 0 の時に取得できるパラメータ とNo.11303
western さん 23/05/08 11:41
 
event == 10 の時に、
レンダリング枠を識別する target に設定している文字列を
geteventparam で取得して処理の分岐に使いたいです
どのレンダリング枠からコールバックされたか知りたいのです

よろしくお願いします



レンダリング枠だけでなく、両ブラウザ枠も含みますが
HTML内の javascript で記述する alert と confirm と prompt
の各ダイアログは、意図して無効化されているポリシーでしょうか

<input type="file"> をクリックした時の ファイル選択ダイアログ
であれば開くのですが、これは今後も使える認識でよろしいでしょうか?





以下、ヘルプで見つけた内容です


getconfig({"*":""}) で取得できた一覧にある
BlockquoteFixRelative についてヘルプに記載がありませんでした


browserpanecommand文/関数 の第2パラメータで 共通/個別 の指定
が出来るようですがヘルプに記載がありませんでした


event == 10 の説明が「registercallbackされたマクロ」となっていますが、
レンダリング枠の window.chrome.webview.postMessage からのコールバックは
hidemaru.getFunctionId で取得する jsmode 内関数にも設定できると思います


マクロヘルプトップから入れる「関数一覧(文字列操作)」のページですが
タイトルが 関数 となっている(「関数一覧(その他関数)」側も「関数」のまま)
のと、そのページから入れる各関数の説明ページ上部の
パンくずリストが「目次− 関数− 」となっていて、
リンク先も「関数一覧(その他関数) 」の方になっています


[ ]
RE:11303 event== 0 の時に取得できるパラNo.11307
秀丸担当 さん 23/05/09 09:50
 

event == 10 の時は、geteventparamで得られるパラメータはwindow.chrome.webview.
postMessageのmessageの文字列だけになっていました。
geteventparamでどのレンダリング枠からという情報も得るようにするのは、ちょっ
とややこしいことになりそうでした。
レンダリング枠の中で自身のことを覚えてもらって、messageの文字列に何らかの形
で含めていただいたほうがいいかもしれません。

HTML内のalertなどは、一応無効化するようにしてありました。
試しに有効化してみたら、トップレベルウィンドウではなく、子ウィンドウの中の単
なる描画といった感じで、見えなくてクリックできないものになってしまうようでし
た。
やるとしたら秀丸エディタ自身でハンドリングして表示させることですが、そこまで
はしていまん。今後できるようにしていくかもしれないです。

<input type="file">のファイル選択ダイアログは、いまのところ特に制限はしてい
ないです。

ヘルプのご指摘などありがとうございます。
幾つか直しておきます。
browserpanecommand文/関数の第2パラメータは、できてしまいますが、初期のβの
頃の各種の文で散らばっていた第2パラメータのほうをどちらかというと無くしたい
方向です。
event == 10 は「registercallbackされたマクロ」のそのままのつもりでした。
レンダリング枠の window.chrome.webview.postMessage からのコールバックは、jsm
ode内関数の場合は、event付きのマクロファイル実行ではなく、残存するjsmodeのイ
ンタンス上の関数が直接呼ばれることになります。
もしeventが取得できるパターンがあるとしたら、不定な値をたまたま取得できてい
るだけかもしれず、取得できないように修正対象になるかもしれません。

[ ]