web-dev-qa-db-ja.com

window.openがIEで機能しない

どうやら、このwindow.openへの呼び出しはInternet Explorerでは無効です。私のサイトのJavascriptコードは実行されていません、私はそれがそのエラーによるものだと思います。

エラーが発生していることを示す行はwindow.openの呼び出しです。どうやら引数はそこで無効です。

$('.objeto').click( 
        function() {
            var center   = 'height=380,width=900,top='+((screen.width - 900)/2)+',left='+((screen.height - 380)/2);
            var address = $(this).attr('id');
            window.open (address,'Ver articulo', config=center); 
        }
    );

このサイトは、Google ChromeとFirefoxの両方で正常に動作します。

22
serv-bot 22

IEでは、2番目の変数(新しいウィンドウの名前)にスペースを含めることはできません。

試してみてください:

window.open (address,'Ver_articulo', config=center); 
47
Dan Dumitru

また、IE9(および場合によっては以下も)はウィンドウ名(2番目のパラメーター)のハイフン( '-')を好まないことを繰り返し説明します。

私はコメントの1つがこれを述べたことを知っています、しかしそれは少し埋もれています-そしてそれは私のために問題を解決したちょうど1つの先端です。

7
Rillus

私は設定が何であるかわかりません、あなたはただ必要です:

window.open (address,'VerArticulo', center);

ただし、ここで効果を得るにはid属性が無効であるようです。おそらく別のものを使用する必要があります。 data-href="urlHere"要素上(まだアンカーでない場合)。

3
Nick Craver

oPの回答が遅れたとしても、この投稿に出くわした人にとっては役立つかもしれません。

「window.open」メソッドを使用しようとした後、OPとまったく同じ問題が発生しました。 Chromeは、URLが含まれている元のhrefタグでは問題ありませんが、IEはそれと混同されているようです。リンクからhrefを削除すると、 。

コードサンプル:

$(document).ready(function () 
{
    $('a[rel^="external"]').each(function () 
    {
        var externalLink = $(this);
        var externalLinkValue = externalLink.attr("href");
        externalLink.unbind('click');
        externalLink.removeAttr("href");

        externalLink.click(function (event)
        {
            event.preventDefault();
            followExtrenalLink = window.open(externalLinkValue,'_blank');
        });

        externalLink.hover(function ()
        {
            externalLink.css('cursor', 'pointer');
        });

    });
0
John