aboutsummaryrefslogtreecommitdiffstats
path: root/ex_autocmd.js
diff options
context:
space:
mode:
authorchiba2008-05-20 14:58:17 +0000
committerchiba2008-05-20 14:58:17 +0000
commitdd45ebc51799f1fb23bde4510a1f9f40edd4e955 (patch)
tree24348ec27a6c399146c7cd2194896b30e1b99220 /ex_autocmd.js
parent5c0ef9e9a1c6b38f6787b1e876b45c88a4e61d32 (diff)
downloadvimperator-plugins-dd45ebc51799f1fb23bde4510a1f9f40edd4e955.tar.bz2
CurrentPageLoadイベントの追加とTabLeaveイベントが下記の条件で意図した動作をしないのでついでに修正しました。
* セッションからのタブ復活をした直後のタブ変更 (セッションからの復活ではTabSelectはおこらず。) * タブの削除(recentTabオブジェクトが破棄されてしまうため) git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@12079 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'ex_autocmd.js')
-rw-r--r--ex_autocmd.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/ex_autocmd.js b/ex_autocmd.js
index 1b74f8d..65c7ac7 100644
--- a/ex_autocmd.js
+++ b/ex_autocmd.js
@@ -1,5 +1,5 @@
// Vimperator plugin: 'Ex Autocmd'
-// Last Change: 14-Apr-2008. Jan 2008
+// Last Change: 20-May-2008. Jan 2008
// License: Creative Commons
// Maintainer: Trapezoid <trapezoid.g@gmail.com> - http://unsigned.g.hatena.ne.jp/Trapezoid
//
@@ -7,11 +7,23 @@
// Ex Events:
// TabSelect
// TabLeave
+// CurrentPageLoad
-var recentTab = null;
+var recentTabURI = null;
function tabSelect(e){
liberator.autocommands.trigger("TabSelect",gBrowser.selectedTab.linkedBrowser.contentWindow.location.href);
- liberator.autocommands.trigger("TabLeave",recentTab && recentTab.linkedBrowser.contentWindow?recentTab.linkedBrowser.contentWindow.location.href:"");
- recentTab = gBrowser.selectedTab;
+ liberator.autocommands.trigger("TabLeave",recentTabURI ? recentTabURI : "");
+ recentTabURI = gBrowser.selectedTab.linkedBrowser.contentWindow.location.href;
}
gBrowser.tabContainer.addEventListener("TabSelect",tabSelect,false);
+
+
+function currentPageLoad(e){
+ var doc = e.originalTarget;
+ if (doc instanceof HTMLDocument && doc == gBrowser.contentDocument){
+ liberator.autocommands.trigger("CurrentPageLoad",doc.documentURI);
+ recentTabURI = doc.documentURI;
+ }
+}
+gBrowser.addEventListener("load", currentPageLoad, true);
+