3

JavaScript を使用していくつかの設定を変更した Webrowser があります。ここで例を使用しようとしていますが、正しい構文を取得できません

スクリプトは次のようになります

        <div class="DisplayInput"><input type="radio" name="displaytype" 
value="decimal" onclick="setdisplayType('decimal');" checked="checked"><a 
    href="javaScript:setdisplayType('decimal');" 
    onclick="s_objectID=&quot;javascript:setdisplayType('decimal');_1&quot;;return this.s_oc?     this.s_oc(e):true">Decimal</a></div>

これまでのところ、これらを試してみましたが成功しませんでした

this.webBrowser1.InvokeScript("setdisplayType");
this.webBrowser1.InvokeScript("setdisplayType('decimal')");
this.webBrowser1.InvokeScript("setdisplayType","decimal");
4

3 に答える 3

7

アプリケーションのエラーで何が起こっているのかわからず、どのように見えるかもわからないので、ロードされる前にsetdisplayType関数を呼び出そうとしているのではないかと思います。setdisplayTypeMSDNのドキュメントによると...

InvokeScript(String, Object()) は、それを実装するドキュメントの読み込みが完了する前に呼び出されるべきではありません。LoadCompletedイベントを処理することで、ドキュメントの読み込みが完了したことを検出できます。

LoadCompletedおそらく、イベント ハンドラーを実装してから、スクリプトを呼び出すことができます。

お役に立てれば!

于 2012-09-28T14:24:19.353 に答える
1

Object の配列を 2 番目のパラメーターとして渡す必要があります。あなたはこのようにすることができます:

Object[] parameters = new Object[1]; //assuming your JS function has one parameter
parameters[0] = (Object)"yourStringParameter"; //for example the parameter is a string
yourBrowser.Document.InvokeScript("scriptName", parameters);
于 2015-04-28T13:22:01.203 に答える