7

このトピックに関する関連する質問を読みましたが、この問題の解決策はまだ見つかりませんでした。私は32でこれをしようとすると、これはクロム、Firefoxの上で正常に動作し、さらにただし、64ビットIE 8で動作Javascript window.openは、Win7 x64の32ビットIE8でnullを返します。

var newwindow; 
function pop(url) 
{ 
    newwindow=window.open(url,'','height=500,width=532'); 
    if (window.focus) {newwindow.focus();} 
} 

:私は、リンクがクリックされたときにwindow.openを呼び出す簡単なJavaScript関数を持っています-bit IE 8 'newwindow'がヌルであるか、オブジェクトではないというエラーが表示されます

これが32ビットIE 8でのみ発生する理由についてのアイデアはありますか?

Windows 7のUAC(私はWin 7 x64を実行しています)に関連していましたが、プロテクトモードをオフにして互換性ビューを実行してもエラーが発生します。

私も私がいないのWindows 7のx64の32ビットおよびIE 8の64ビット版の両方が付属していますなぜだろう、と32ビット版が私のタスクバーにピン留めされた理由...

答えて

2

あなたの他の問題について知っていますが、32ビットバージョンがデフォルトでより目立つ理由は、ほとんどのプラグインがまだ64ビットバージョンを持たないということです。 Flash、Youtubeが輝く新しい64ビットシステムで動作することができない場合、平均的なユーザーは非常に混乱するでしょう。

0

私は似たようなことに気付きました。

IE機能showModalDialogを使用して開いたウィンドウがあります。このウィンドウには、window.openというボタンがあります。この呼び出しはnullを返します。それからモーダルダイアログではなく、通常のウィンドウで同じページを開きました。今回はボタンがnullと返されましたが、IEではWebページがポップアップウィンドウを開いてほしいと言っていましたが、これはブロックされていました。それは私にそれをブロック解除するオプションを与えました...そしてそれは両方の場合 - モーダルとレギュラーウィンドウで働き始めました。

IEのモーダルモードでは、IEにpopup blockedのような警告は表示されないようです。

10

URLが現在のドメイン外にある場合、Internet Explorerはnullを返すようです。空のページを開いてから、実際のURLに移動してください:

var newwindow; 
function pop(url) 
{ 
    newwindow=window.open('','','height=500,width=532'); 
    newwindow.location = url; 

    if (window.focus) {newwindow.focus();} 
} 
+2

これは動作します。しかし、window.closedプロパティは、ロケーションURLを設定すると、新しいウィンドウがリフレッシュされるたびに "true"になりました。 – noboundaries

+1

解決策は動作していますが、実現可能な解決策ではない 'window.close'プロパティをtrueにしているので、もう一つのインパクトを作り出しています。私のアプリケーションでは、ウィンドウが閉じていなくても条件を真にする 'window.closed()'のチェックがあるので。 –

関連する問題