全米が震撼!こんな使えないブラウザ初めて見た【だるやなぎブラウザー】

だるぶら
darubura.cab (v1.1)
darubr12.cab (v1.2 )
ダウンロード

Windows 95以降で動作するWeb ブラウザです
もふったー同梱の【もふぶらの改造版】

起動して小文字の「$」や 文字列"daru" が含まれている ページを開くと…

daru
あれれ、なんかへんだぞ?

注:作成にあたって勝手に https://atnd.org/event_images/0005/1873/png_original.png を拝借しています

変更:

v1.2 Win95で一部のサイトが開けない不具合修正
     Win95でレンダリングモードを変更するとアプリが再起動しない不具合修正
     レンダリングモードの変更が不完全な不具合修正
     レンダリングモードにIE10追加
     Win95でだるイメージが表示されない不具合修正


技術的な話

文字列置換処理はこんな感じで実装

void repl(wchar_t *sc, IHTMLTxtRange  *lpTxtRange){
        long t;
        VARIANT_BOOL bFound;
        LONG lFlags = 2;
        CComBSTR search(lstrlenW(sc)+1,sc);
         lpTxtRange->moveStart((BSTR)CComBSTR("Textedit"),0,&t);
        lpTxtRange->moveEnd((BSTR)CComBSTR("Textedit"),1,&t);
        while(1)
    {
         CComBSTR newhtml = L"<IMG SRC=\"https://atnd.org/event_images/0005/1873/png_original.png\" width=16 height=16>";
         HRESULT tt = lpTxtRange->findText(search , 0,lFlags,&bFound);
         if(tt == E_INVALIDARG) break;
         if(bFound == 0) break;
         lpTxtRange->pasteHTML(newhtml);
         lpTxtRange->moveStart((BSTR)CComBSTR("Character"),0,&t);
         lpTxtRange->moveEnd((BSTR)CComBSTR("Textedit"),1,&t);
    }
}

日本語は、APIがUnicode 不完全対応とかでちょっとおかしいのでANSI限定で処理した。

    virtual void OnDocumentComplete(LPCTSTR URL);

  DECLARE_MESSAGE_MAP()
  DECLARE_EVENTSINK_MAP ()

ヘッダ

BEGIN_EVENTSINK_MAP(CMofbrwView,CFixHtmlView)
        ON_EVENT(CMofbrwView, IDC_WBC, 0x68 , OnDocumentComplete, VTS_BSTR )
END_EVENTSINK_MAP()

void CMofbrwView::OnDocumentComplete(LPCTSTR URL){
    IHTMLDocument2 *pDocument = (IHTMLDocument2*)GetHtmlDocument();
   if (pDocument)
    {
          :

OnDocumentComplete が発生しなくて困った
引数は2つじゃなくて、1つが正解らしい。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です