سؤال

أحاول عرض مربع حوار JavaScript Modal في Chrome عندما يقوم المستخدم بإنشاء إشارة مرجعية. ومع ذلك ، بعد محاولة الإغلاق و simplemodal+jQuery ، لا يمكنني الحصول على مربع حوار للظهور. هل هذا قيود على الامتدادات في Chrome ، أم أنني أفعل شيئًا خاطئًا جدًا؟ (ما زلت أتعلم JavaScript ، لذا فإن افتقاري إلى فهمه يمكن أن يكون السبب.)

هنا هو الكود الخاص بي باستخدام الإغلاق. إنه يجعلها في الوظيفة ، بحيث يعمل بشكل جيد. أي اقتراحات؟ شكرًا!

<html>
    <head>
        <script src="./lib/closure-library/closure/goog/base.js"></script>
        <script type="text/javascript" src="./lib/closure-library/closure/goog/deps.js"></script>
        <script>goog.require('goog.ui.Dialog');</script>
        <script type="text/javascript">
            chrome.bookmarks.onCreated.addListener(function(id, bookmark) {
                // Setup the dialog box.
                var dialog1 = new goog.ui.Dialog();
                dialog1.setContent('[Insert Placeholder]');
                dialog1.setTitle('Title Placeholder');

                // Display dialog.
                dialog1.setVisible(true);
            });
        </script>
    </head>
    <body>
        <!-- Do Nothing -->
    </body>
</html>
هل كانت مفيدة؟

المحلول

لا يمكنك استخدام مربع حوار مثل هذا في صفحة الخلفية:

صفحات الخلفية

يمكنك القيام بذلك لصفحة الخيارات:

خيارات ملحقات Google Chrome

لذلك في حالتك ، قد ترغب في الاستماع إلى الإشارات المرجعية ، وبما أنك تريد إجراء مربع حوار ، ستحتاج إلى التواصل مع الصفحة نفسها. لذلك ، يمكنك الحصول على selecttab عبر:

الطريقة المنتظمة

بمجرد الحصول على علامة التبويب ، يمكنك بعد ذلك تنفيذ JavaScript:

طريقة executescript

نصائح أخرى

لتوضيح إجابة محمد قليلاً ، يكون حوار إغلاق وسيط HTML في الصفحة. ربما يكون هذا يعمل بالفعل في الكود الخاص بك ، ولكن نظرًا لأنك تقوم بذلك في صفحة الخلفية ، وصفحة الخلفية غير مرئية ، فأنت لا ترى ذلك. يمكنك استخدام التقنيات التي تستخدم Window.Open أو Window.Alert من صفحة الخلفية ، ولكن ليس الأشياء التي تحاول عرض HTML التفاعلي للمستخدم. لذلك ، ستحتاج إلى إدخال المحتوى في نافذة منبثقة أو في الصفحة نفسها كما يوحي محمد.

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