>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >расширение . узнать урл в адресной строке http://forum.mozilla-russia.org/viewtopic.php?id=47847 |
cyberovskij > 20-01-2011 22:11:43 |
Есть следующий код , который выполниться при загрузке оверлея: Выделить код Код:var myExtension = { init: function() { var appcontent = document.getElementById("appcontent"); // browser if(appcontent) appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, true); }, onPageLoad: function(aEvent) { var doc = aEvent.originalTarget; // doc is document that triggered "onload" event // do something with the loaded page. // doc.location is a Location object (see below for a link). // You can use it to make your code executed on certain pages only. var s=doc.createElement('iframe'); s.width='400px'; s.height='100px'; s.frameborder='0'; s.scrolling='yes'; s.src ='http://mysite.com/browserstat.php?url_='+doc.location.href; doc.getElementsByTagName('body')[0].appendChild(s); // add event listener for page unload //aEvent.originalTarget.defaultView.addEventListener("unload", function(){ myExtension.onPageUnload(); }, true); }, onPageUnload: function(aEvent) { // do something } } window.addEventListener("load", function() { myExtension.init(); }, false); смысл кода в том что при заходе на каждую страницу должен отправляться адрес этой страницы в базу. |
hydrolizer > 21-01-2011 03:52:44 |
Чем вместо doc.location.href не угодил gBrowser.contentDocument.location ? Да и чем возиться с iframe, было бы, по моему скромному, проще и наглядней пользоваться XMLHttpRequest. |
cyberovskij > 21-01-2011 15:10:42 |
hydrolizer пишет
А тем что если юзер вместо клика сделает "Открыть в новой вкладке" и не перейдет на нее во время загрузки то |
hydrolizer > 21-01-2011 16:52:03 |
cyberovskij пишет
Ну и что? Выделить код Код:gBrowser.tabContainer.addEventListener("TabOpen", myextension.onNewTab, false); ...................... onNewTab: function(event) { gBrowser.getBrowserForTab(event.target) .addEventListener("load", myextension.onTabLoadComplete,true); }, onTabLoadComplete: function(event) { var href=event.target.location.href; if (href!="about:blank") { let console=Components.classes["@mozilla.org/consoleservice;1"] .getService(Components.interfaces.nsIConsoleService); console.logStringMessage("onTabLoadComplete: "+href); } } |