掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
webbrowserコントロール(VBからJScriptの関数を実行できますか?) (ID:79304)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
魔界の仮面弁士様、 早速のレスありがとう御座いました。 > 今回の目的には合致しませんが、単純にJScriptを実行する事だけが > 目的の場合は、スクリプトコントロールを利用する事ができます。 色々なコントロールがあるのですね。 勉強になります。 > そのSVGファイルは、どこかのWebサーバで公開されていますか? > 具体的な例があった方がわかりやすいので。。。 公開はされておりませんが、 [test.svg] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd"> <svg xml:space="preserve" width="600px" height="400px"> <script type="text/ecmascript" xlink:href="test.js"/> <rect id="rect1" x="0" y="0" width="1200" height="700" fill="black" stroke="black"/> <g id="TextData" fill="white" stroke="white" stroke-width="" onclick="DoOnClick(evt)"> <text id="SAMPLE" x="10pt" y="20pt" fill="none"><tspan>TEST</tspan></text> <text id="t1" x="20pt" y="60pt" fill="none"><tspan>線1</tspan></text> <text id="t2" x="20pt" y="100pt" fill="none"><tspan>線2</tspan></text> </g> <g id="GraphData" fill="white" stroke="white" stroke-width="" onclick="DoOnClick(evt)"> <use id="g1" xlink:href="#ldat" fill="none" x="20" y="42"/> <use id="g2" xlink:href="#ldat" fill="none" x="20" y="93" /> </g> <defs> <g id="ldat"> <line x1="10" y1="50" x2="300" y2="50" /> <line x1="10" y1="51" x2="300" y2="51" /> <line x1="10" y1="52" x2="300" y2="52" /> <line x1="10" y1="53" x2="300" y2="53" /> <line x1="10" y1="54" x2="300" y2="54" /> <line x1="10" y1="55" x2="300" y2="55" /> </g> </defs> </svg> [test.js] function DoOnClick(evt){ var node = evt.target; var col = node.getAttribute("fill").toLowerCase(); node.setAttribute("fill","red"); node.setAttribute("stroke","red"); } function TestMsg(){ alert('hello!!'); } といった具合に使用してます。※コードは「UTF-8」限定です。 このSVGファイルをVBのWebBrowserコントロールに表示しまして、 先ほど教えて頂きました方法 Me.WebBrowser1.Navigate2 "javascript:function ・・・ でVBからTestMsg()関数を呼ぼうとしたのですが、何度試しても 「オブジェクトを指定してください」のエラーになってしまいます。 何か良い方法は御座いませんでしょうか? > WebBrowser1.Navigate2 "javascript:〜〜" というのは、 > その後に記述された文字列を、JScriptとして処理する物です。 定義と実行が書かれていたのですね。 ご丁寧なご説明、どうもありがとう御座いました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.