سؤال

على ما يبدو، هذه الدعوة ل window.open غير صالح ضمن Internet Explorer.كود جافا سكريبت الموجود على موقعي لا يعمل، وأفترض أن السبب هو هذا الخطأ.

السطر الذي يخبرني بوجود الخطأ، هو استدعاء 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 ، لا يمكن أن يكون لديك مسافات في متغيرك الثاني (اسم النافذة الجديدة).

محاولة:

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

نصائح أخرى

يستحق أيضًا إعادة التأكيد على أن IE9 (وربما أدناه) لا يحب الواصلة ('-') في اسم النافذة (المعلمة الثانية).

أعرف أحد التعليقات المذكورة هذا ، لكنه مدفون قليلاً - وهي نصيحة واحدة حلت مجرد مشكلة بالنسبة لي.

لست متأكدًا من التكوين ، تحتاج فقط إلى:

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

ضع في اعتبارك رغم ذلك ، يبدو أنك id السمة غير صالحة للحصول على التأثير هنا ، ربما تريد استخدام شيء مختلف ، على سبيل المثال data-href="urlHere" على العنصر ، إذا لم يكن مرساة بالفعل.

حتى لو تأخرت الإجابة عن OP، ولكن بالنسبة لشخص آخر يتعثر في هذا المنشور، فقد يكون ذلك مفيدًا:

واجهت نفس مشكلة OP تمامًا بعد محاولة استخدام طريقة "window.open".اتضح أن Chrome على ما يرام مع علامة href الأصلية التي تحتوي على عنوان URL حيث يبدو أن 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');
        });

    });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top