VB2005でWebBrowserで開いたページのリンクにTarget="_blank"を付加したいのですがうまく出来ず悩んでおります。
ソース部分の
href="http://XXXXXX.com"
↓↓↓↓↓
href="http://XXXXXX.com" Target="_blank
のようにしたいのですがご存知の方いましたら
お教え頂けないでしょうか?
DocumentCompleted あたりで…。
Dim wb As WebBrowser = DirectCast(sender, WebBrowser)
For Each a As HtmlElement In wb.Document.GetElementsByTagName("A")
a.SetAttribute("target", "_blank")
Next
お返事ありがとうございました。
<A http://www.yahoo.co.jp/">ヤフー</A>
のようなページで試したところエラーはでないのですが、ソースが変更されることはありませんでした。
もう少し悩んでみます。
> ソースが変更されることはありませんでした。
これでどうでしょう。
Private Sub WebBrowser1_DocumentCompleted( _
ByVal sender As Object, _
ByVal e As WebBrowserDocumentCompletedEventArgs _
) Handles WebBrowser1.DocumentCompleted
Dim wb As WebBrowser = DirectCast(sender, WebBrowser)
For Each a As HtmlElement In wb.Document.GetElementsByTagName("A")
a.SetAttribute("target", "_blank")
Next
RichTextBox1.Text = wb.DocumentText
Dim doc As Object = wb.Document.DomDocument
Dim o As Object = CallByName(doc, "documentElement", CallType.Get)
RichTextBox2.Text = CallByName(o, "outerHTML", CallType.Get)
Marshal.ReleaseComObject(o)
Marshal.ReleaseComObject(doc)
End Sub
度々ご指導ありがとうございます。
望み通り RichTextBox2に" Target="_blankが付加されたソースが表示されました。
後半部分が理解出来ないところがありますので
勉強したいと思います。
高名な魔界の仮面弁士さんにお返事頂いて感謝しております。
ツイート | ![]() |