2014-11-13 4 views
1

У меня есть небольшая проблема с простым расширением chrome, которое закрывает определенное всплывающее окно по его ссылке.закрыть всплывающее окно с javascript

Когда всплывающее окно всплывает, главная страница отключается, и как только всплывающее окно закрывается, страница снова включается.

Проблема, с которой я борюсь, заключается в том, что при запуске моего расширения всплывающее окно больше похоже на удаление, а не закрытие. поэтому всплывающее окно исчезает, но главная страница продолжает отключать.

НО, если я запустил javascript в chrome dev-console, всплывающее окно закрывается правильно, и главная страница сразу активируется.

это ошибка? или они другие способы, чтобы закрыть окно вместо window.close()

это простой Javascript я использую

(function(){ 
     var x = document.URL; 

     var url = "www.xxxx.com/customurl"; 

      if(x==url){ 
        window.close(); 
      } 

    })(); 

Manifest

{ 
    "name": "ReportCloser", 
    "version": "0.1", 
    "permissions": [ 
    "tabs","<all_urls>" 
    ], 
    "browser_action": { 
     "default_icon": "icon.png" 
    }, 

    "content_scripts": [ 
     { 
     "matches": [ 
      "http://*/*", 
      "https://*/*" 
      ], 
     "run_at": "document_end" , 
     "js": ["script.js"]  
     } 
    ], 
    "manifest_version":2 
} 
+0

Если вы не используете его на функцию побудила со щелчком, window.close не работает. – Michael

+0

Ну, так как я хочу, чтобы он работал без вмешательства пользователя, я поставил скрипт в функцию self invoking. Обновит мой вопрос. – Dymond

+0

Вы можете сделать это, если родитель делает это – Michael

ответ

1

Так что это была моя проблема.

Всплывающее окно закрыто для быстрого, прежде чем содержимое было загружено. исправил эту проблему с таймаутом.

setTimeout("window.close()",500); 

работает как шарм теперь :)

Смежные вопросы