私は自分のアプリケーションの出力としてウェブページを構築しています。これは、コントロールをファイルにポイントするのではなく、直接ドキュメントのテキストを編集していることを意味します。特定のページにアクセスせずにWebBrowserコントロール内でJavaScriptを実行することはできますか?
<html>
<head>
<style type = "text/css">
.circle {
position:relative;
moz-border-radius: 10px;
-webkit-border-radius: 10px;
-khtml-border-radius: 10px;
border-radius: 10px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid #000;
height: 10px;
width: 10px;
background-color:#33FF00;
}
</style>
<script type="text/javascript">
var step = 0;
var color= '#0000FF';
function timer()
{
var t=setTimeout("switchColor()",125);
}
function switchColor()
{
if (step == 0) {color='#33FF00';}
if (step == 1) {color='#33FF00';}
if (step == 2) {color='#22AA55';}
if (step == 3) {color='#1155AA';}
if (step == 4) {color='#0000FF';}
if (step == 5) {color='#0000FF';}
if (step == 6) {color='#1155AA';}
if (step == 7) {color='#22AA55';}
step = step+1;
if (step > 7) { step = 0;}
var elements = document.getElementsByClassName('circle')
for (var i = 0;i <elements.length;i++)
{
elements[i].style.backgroundColor=color;
}
timer()
}
</script>
</head>
<body onload="timer()" >
<div id="test" class="circle1"></div>
<div class="circle"></div><div class="circle"></div>
<br>
<br>
</body>
</html>
コードは次いでStringBuilder.AppendLine()関数との各ラインを追加すること、のStringBuilderを使用して、WebBrowserコントロールのdocumentTextとして設定され、その後に全体のStringBuilderに変換されていることを私には、以下のコードを有します文字列。
getElementsByClassName関数がサポートされていないというエラーが表示され、何も起こりません。 htmlは完璧に動作します。
空のhtmlページにコードをコピーしてIEで表示すると、エラーが表示されます。オブジェクトはこのプロパティまたはメソッドをサポートしていません。 41行目はGetElementsByClassNameの行です。それがIEで動作しない場合、WebBrowserControlでは動作しません。 –
Internet Explorerでエラーは発生しませんが、コードはFirefoxと同様に機能しません。そこに解決策はありますか? –
私の理解では、WebBrowserControlはIEエンジンを使用するので、IEで動作させるだけです。 –