VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/09/15(Thu) 09:45
投稿者ちり
Eメール
URL
タイトルRe^6: WebBrowserで画像を表示させない


 自己レスです。

 一応、画像を表示させずに表示させ、リンク先に飛ぶ(一部不可)ことが出来ましたので、
その結果を報告します。

 処理の内容としては、WebBrowser1が読み込み処理を行うまえに、BeforeNavigate2でキャンセルし、
別途ソースのみを読み込む。画像表示をつぶす。WebBrowser1に読み込ませる。リンクを修正する。
といった流れです。ですが、CSSを読めない、aaa.htm#bbbのリンクは飛ばない、ファイルのDLが出来な
い、
CGIの処理が出来ない、文字化けする、等々、問題が多すぎるので諦めました。

 レスしてくださったみなさん。ありがとうございました。



Private reLoadHN As Boolean
Private aPath As String
Private bPath As String
Private sURL As String


Private Sub Form_Load()

    aPath = fYen(App.Path) & "tmp.htm"
    bPath = aPath & "l"

End Sub


Private Sub Command1_Click()

    WebBrowser1.Navigate "hhttp://www.yahoo.co.jp/"

End Sub


Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As
Variant, _
TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)

Dim S As String
Dim i As Long

    '永久防止
    If reLoadHN = True Then
        Cancel = False
        Exit Sub
    Else
        reLoadHN = True
    End If
    
    '読み込みをキャンセル
    Cancel = True
    '変更
    sURL = URL

    'html所得
    'S = getHtmlMsXML(sURL)
    
    'SampleNo=132
    getHtmlInet sURL, aPath
    'ファイルの読み込み
    fLoadFile aPath, S

    'エラー回避
    If S = "" Then
        reLoadHN = False
        Exit Sub
    End If

    '元を保存
    fSaveFile "tmp.htm", S
    '画像表示情報を削除
    S = delImgTag(S)
    'すり替えた情報を保存
    fSaveFile bPath, S
    'すり替え表示
    WebBrowser1.Navigate bPath
    Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
        DoEvents
    Loop

            'ベースURLを登録
            '×:読み取り専用
            'WebBrowser1.LocationURL sURL

    'リンクを修正
    For i = 0 To WebBrowser1.Document.links.length - 1
        WebBrowser1.Document.links(i).href = _
    Replace(WebBrowser1.Document.links(i).href, "file:///C:/", sURL)
    Next i
    
    '終了
    reLoadHN = False

End Sub


Private Function delImgTag(ByVal S As String) As String

    S = Replace(S, ".gif", "")
    S = Replace(S, ".jpg", "")
    delImgTag = S

End Function


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -