window.openがIEで動作しない
-
01-10-2019 - |
質問
どうやら、この電話は 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 の両方で正常に動作します。
解決
IEでは、2番目の変数(新しいウィンドウの名前)にスペースを持つことはできません。
試す:
window.open (address,'Ver_articulo', config=center);
他のヒント
また、IE9(およびおそらく以下)がウィンドウ名(2番目のパラメーター)のハイフン( ' - ')が好きではないことを繰り返す価値があります。
私はこれに言及したコメントの1つを知っていますが、それは少し埋もれています - そしてそれは私にとって問題を解決しただけのヒントです。
設定がわかりませんが、必要なだけです。
window.open (address,'VerArticulo', center);
ただし、あなたのように見えます id
属性はここで効果を得るために無効です、あなたはおそらく何か違うものを使用したいと思うでしょう、例: data-href="urlHere"
要素については、それがすでにアンカーではない場合。
あなたであっても、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');
});
});
所属していません StackOverflow