Скрипт содержимого Chrome не загружается в около: пустая страница

Я разрабатываю расширение Chrome, которое будет загружать скрипт содержимого в соответствии со следующим манифестом:

"content_scripts" : [
    {
      "matches" : [ "" ],
      "js" : [  "scripts/namespace/namespace.js",
                "scripts/log/Logger.js"]
       "run_at" : "document_start",
       "all_frames" : true
     }
]

Существует макет сайта, HTML-код которого:




    var test;

    function makewindow() {
        test=window.open('mywin');
        test.window.document.write("<a onclick="window.close();" href=""> click Me to Close</a>");
        test.window.document.write(" ---- ");
    }




<a href="" onclick="makewindow();return false;">Click me to launch the external Window</a>


Если я нажму на ссылку A, и она запуститсяmakewindow функция и всплывает новое окно.

URL нового окнаabout:blankи содержимое скрипта не загружается в этом новом окне.

Как загрузить контентный скрипт в этом новом окне?

 Leslie Wu28 мая 2013 г., 09:05
да, но есть ли способ загрузить контентный скрипт в about: blank page? @thefrontender
 Leslie Wu28 мая 2013 г., 11:07
Я хочу загрузить скрипты контента в about: blank. @thefrontender
 thefrontender28 мая 2013 г., 09:01
about: blank - это особый случай. Посмотри наhsivonen.iki.fi/about-blank
 thefrontender28 мая 2013 г., 10:03
Вы должны уточнить: хотите ли вы загружать скрипты в about: blank или вы действительно просто пытаетесь открыть новое окно и манипулировать им, не предоставляя URL?

Ответы на вопрос(2)

Решение Вопроса

Обновить: Начиная с Chrome 37 (26 августа 2014 г.), вы можете установитьmatch_about_blank флагдоктор вtrue стрелять заabout:blank страницы.

Увидетьalib_15'ответ ниже.

Для Chrome до версии 37:

Вы не можете загрузить скрипт содержимого Chrome (или пользовательский скрипт) наabout:blank страницы.

Это потому чтоabout: не один изразрешенные схемы ", Отхромированные расширенияШаблоны совпадений:

Шаблон соответствия - это, по сути, URL, который начинается сразрешенная схема (,,,httphttpsfileftp, или жеchrome-extension) ...

В этом случае выможет быть быть лучше от угона.makewindow()

 alib_1531 мар. 2016 г., 11:25
Неправильно - смотрите правильный ответ ниже.
 Brock Adams31 мар. 2016 г., 12:19
@ alib_15, это было правильно во время вопроса. Обновил ответ, спасибо.
 alib_1501 апр. 2016 г., 20:17
Спасибо, Брок. Я'я пишу свое 1-е расширение, и это тоже меня поразило. Я думаю, что это ловит много людей. Я подозревал, что ваш ответ был правильным на момент написания, но я чувствовал себя немного озорным.

В файле манифеста добавьте строку:

"content_scripts" : [
{
  "matches" : [ "" ],
  "match_about_blank" : true,
  "js" : [  "scripts/namespace/namespace.js",
            "scripts/log/Logger.js"]
   "run_at" : "document_start",
   "all_frames" : true
 }
]

Ваш ответ на вопрос