文字コード
そしゃないunicode
654 :
デフォルトの名無しさん:2011/01/21(金) 22:40:57
>>651 おっしゃる通り、writeの後にcloseしたら、一発で解決しました。
ありがとうございます!
何年も前に書かれたコードだったのですが、IE8になってバグが顕在化したわけですね。
closeしないといけなかったとは、全く知りませんでした。
助かりました。
655 :
デフォルトの名無しさん:2011/01/26(水) 08:08:10
C#のwebBrowserで表示の拡大をする方法はありますか?
657 :
デフォルトの名無しさん:2011/01/26(水) 18:54:26
お〜ありがとうございます。
さっそく試してみます。
自分のOSの種類&バージョン情報と64/32bitどちらで動いてるかを知るにはどうすればよいですか?
navigator.userAgent
コンピュータのプロパティ
661 :
デフォルトの名無しさん:2011/02/08(火) 00:32:53
こんにちは。
この度、C++プログラムでhtml上のtextareaに値が入れ方がわからなくて質問をさせて頂きます。
SHDocVwとMSHTMLを使い、html上のtextareaにデータを入れるのを以下のように実装したのですが、入れたはずの値が表示されません。(内部では入っているようですが・・・)
なぜ他の項目のように値がみえないのでしょうか?
よろしくお願いいたします。
SHDocVw::IWebBrowser2Pt m_pIE.CreateInstance(L"InternetExplorer.Application");
//希望のページに飛ぶ(中略)
MSHTML::IHTMLDocument3Ptr pDocument( m_pIE->Document );
pCollection = pDocument->getElementsByTagName(_bstr_t(L"textarea"));
for (long i = 0; i < pCollection->length; ++i)
{
MSHTML::IHTMLTextAreaElementPtr pText(pCollection->item(_variant_t(i)));
//!本文
if( !_wcsicmp(pText->name, L"項目名" ) ){
pText->value= _bstr_t( "hoge" );
}
}
【環境】Visual C++ 2008 Express Edition
662 :
デフォルトの名無しさん:2011/02/10(木) 01:28:30
↑解決しました。サイト側がhtml方式でした。失礼しました。
いみふ
664 :
デフォルトの名無しさん:2011/03/07(月) 10:58:51.18
へえ
復帰
改行
IEコンポーネントで簡易ブラウザを作ったのですが、
ポップアップ等新しいウィンドウが作られるときにInternet Exploreで作られてしまいます
これを自作簡易ブラウザで開くようにしたいのですがどうすればいいですか?
>>668 ありがとうございます
でも.NetのwebBrowser使ってるのでNewWindow2がない・・・
デフォルトブラウザに設定すれば?
>>671 邪道と言われるかもしれなけけど、メインウインドウをIEコンポーネントで作ればjavascriptでの実装も可能
>>672 thx.
でもごめんもう実装してたり。
あとつまってるのは、write()で流し込んでclose()したhtmlが
scrollTo()で思った位置に飛ばせないとこで。
scrollintoviewじゃね
675 :
デフォルトの名無しさん:2012/02/02(木) 11:13:41.69
達人プログラマーさん、助けてください!!
既に開いているIEウィンドウで、以下の様なHTMLを表示しているとします。
〜〜(略)〜〜
<form name="myform">
...
<input type="hidden" id="hogehoge" value="XXXX" />
...
</form>
〜〜(略)〜〜
私の作ったアプリ側で、上記の XXXX にあたる部分を書き換えたいのですが、どうしたらよいでしょうか?
一応、
SHDocVw::IWebBrowser2Ptr pIE = (略) ; // pIE を取得
MSHTML::IHTMLDocument2Ptr pHtmlDoc = pIE->GetDocument(); // htmlドキュメントを取得
MSHTML::IHTMLElementCollectionPtr pHtmlCol = pHtmlDoc->forms; // フォームのオブジェクトを取得
まではできたのですが、ここから行き詰っています。
ぜひご教授下さい。。。
そんなことしなくてもgetElementByIdで取ればよかろう
677 :
デフォルトの名無しさん:2012/02/05(日) 21:55:47.84
IEコンポーネントでアプリケーション独自のクッキーを送ってあげたいんだけど、
IEが元から引っ張ってきているクッキーが邪魔して期待している結果にならない
IEが引っ張ってきたクッキーを消して独自のクッキーを送ってあげたいんだけど
そういうことってできますか?
678 :
デフォルトの名無しさん:2012/02/06(月) 07:18:33.58
使い方教えて
679 :
デフォルトの名無しさん:2012/02/06(月) 16:57:09.36
使い方教えてよ
XMLHttpRequestの中身を見て、情報によってはリクエストを遮断させたいのですが、
BeforeNavigate2だとXMLHttpRequestのリクエストが取得できませんでした。
ブラウザがXMLHttpRequestでリクエストした情報を取得するには、何を利用したら良いのでしょうか?
ノウハウやそれが掲載されているサイトをご教授いただけると助かります。
よろしくおねがいします。
681 :
デフォルトの名無しさん:2012/03/10(土) 22:52:43.61
C++ と WTL で Shell.Explorer.2 を使ってページを表示してるんだけど、
リソース中の mht ファイルを表示する簡単な方法があったら教えてくれ。
mhtml:res://xxx.dll/xxx.mht
ウィンドウをリサイズするとちらつく(一瞬白くなる)んだけど
どんな原因が考えられる?
親ウィンドウの背景色は白じゃないし子ウィンドウをクリップしてる。
他にウィンドウは重なってない。
WM_SIZEを捕まえて再描画しないようにするとちらつかないけど更新されない。
685 :
営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 22:31:29.85
IWebBrowser2を設定UIに使ってるんだけど
マウスでの範囲選択はどうしたら無効にできる?
MOUSEDOWNでReleaseCaptureするとか
MOUSEDOWNってWM_LBUTTONDOWN?
フックするなりなんなりと
689 :
685:2012/04/07(土) 23:40:05.88
サンクス
どうやら俺のレベルがまだ足りていないようだ。
もう少しわかるようになったらまた質問させてください。
タブ付きブラウザを作りたくて、以下のサイトを参照しvb.netで作成しました。
ttp://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserNewWindow2Event.htm しかし、一部のサイトを表示しようとしたところ、スクリプト関係がうまく
いってないのか、IE9で表示するとエラーもなく表示されるのに、
vb.netで作成したブラウザだとスクリプトエラーなのか、
[スクリプトエラー。xxが定義されていません」などと表示されます。
考えられる原因は何があるのでしょうか。
IE9が使っているコンポーネントとvb.netで作成したコンポーネントが
違うことが起因してエラーになってるのでしょうか。
以下のguidの指定が古いとかありますか?現在はIE9を利用しています。
<ComImport(), Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"), _
InterfaceType(ComInterfaceType.InterfaceIsIDispatch), _
TypeLibType(TypeLibTypeFlags.FHidden)> _
Public Interface DWebBrowserEvents2
会社の内部のサイトが、IEのみ対応らしいので会社ではIEをメインで使っているのですが、
1. IE7ではpdfにアクセスするとほぼ必ず落ちる。
2. Googleの出力が、Firefoxと違ってアクセス先がpdfかどうか分かりにくい。
で悩んでいます。IE8にアップする以外で対応する方法ありますか?
なければ周りの人のIE8の評判聞いてバージョンアップします。
692 :
691:2012/05/08(火) 23:33:17.70
なんかスレ違いでしたね。すみません。
>1. IE7ではpdfにアクセスするとほぼ必ず落ちる
これ環境がおかしいんじゃないのか?
普通落ちることはマレだろ
ブラウザでPDF表示なんて糞だから一番最初に切るものじゃないのか
おお、返事が。
>>693 会社のPCなのでそんなに激しくいじってはいないのですが。逆に言うとまずい原因も分からないのです。
>>694 やっぱそれが一番ですか。そうします。
ところで、
>2. Googleの出力が、Firefoxと違ってアクセス先がpdfかどうか分かりにくい。
が結構めんどくさいと思ってしまうのですが。「○○の最新動向」とか書いてあって
pdfとかだと、なんかだまされた気がしますw
ieとadobe readerはバージョンの組み合わせで相性があるからな
ページ上にあるFlashのボタンをクリックするにはどうすればいいんだろ?
elementsとclickで実装しようとしてるけど上手くいかない
flashは画面キャプチャしてボタンを画像認識、mouse_eventでクリック。
そもそもflashのボタンはdomの要素じゃないので押せねえ
GoogleマップのJavaScript変数を取得できないんですけどなんででしょう
IEのアドレスバーに
javascript:void(prompt('',gApplication.getMap().getCenter()));
みたいに入力すると取得できています
HRESULT hr;
CComBSTR bstrCode(_T("eval(var a = gApplication.getMap().getCenter())"));
CComBSTR bstrLang(_T("javascript"));
CComPtr<IHTMLDocument2> spHtmlDoc;
CComPtr<IHTMLWindow2> spHtmlWin;
IHTMLDocument2 *pHtmlDoc = GetDocument2();
if (!pHtmlDoc)
return FALSE;
spHtmlDoc.Attach(pHtmlDoc);
hr = spHtmlDoc->get_parentWindow(&spHtmlWin);
if(FAILED(hr))
return FALSE;
VARIANT varEmpty = {0};
hr = spHtmlWin->execScript(bstrCode, bstrLang, &varEmpty);
そもそもGoogleマップのURLでevalが以下の方法で見つかりません。
bstrMember は "eval"
hr = pHtmlDoc->get_Script(&spScript);
(中略)
hr = spScript->GetIDsOfNames(IID_NULL,&bstrMember,1,...
(中略)
hr = spScript->Invoke(dispid,IID_NULL,0,...
次のようにすると見つかります。
hr = spScript->GetDispID(bstrMember, fdexNameCaseSensitive, &dispid);
(中略)
hr = spScript->InvokeEx(dispid, LOCALE_USER_DEFAULT,...
(中略)
あと
CComPtr<IHTMLScriptElement> spScriptElem;
hr = spDisp->QueryInterface( IID_IHTMLScriptElement, (void **)&spScriptElem);
で確認するとスクリプトが空なんです。
もうなにがなんだかさっぱりな状態です