From eb816b7513b5035a42e1af69127bc3865e3abc15 Mon Sep 17 00:00:00 2001 From: mattn Date: Thu, 24 Jul 2008 11:03:58 +0000 Subject: user agent switcherを操作出来るvimperator plugin「uaSwitch.js」追加 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@16207 d0d07461-0603-4401-acd4-de1884942a52 --- uaSwitch.js | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 uaSwitch.js (limited to 'uaSwitch.js') diff --git a/uaSwitch.js b/uaSwitch.js new file mode 100644 index 0000000..53ce980 --- /dev/null +++ b/uaSwitch.js @@ -0,0 +1,43 @@ +// Vimperator plugin: uaSwitch +// Maintainer: mattn - http://mattn.kaoriya.net +// Require: User Agent Switcher - https://addons.mozilla.org/firefox/addon/59 +// Usage: +// :ua MyUserAgent - set user agent named MyUserAgent. +// :ua Default - reset user agent to default. +// :ua! - open user agent switcher setting dialog. +// :ua - show current user agent. + +(function() { + if (typeof useragentswitcher_reset != 'function') return; + + // activate user agent siwtcher + useragentswitcher_displayUserAgentSwitcherMenu(document.getElementById("useragentswitcher-popup-menu"), 'menu'); + + // return user agent list + function getItems() { + return Array.map( + document.getElementById("useragentswitcher-menu") + .getElementsByAttribute("type", "radio"), + function(n) { + return { + label : n.getAttribute('label'), + oncommand : n.getAttribute('oncommand'), + checked : n.getAttribute('checked') + } + } + ); + } + + // regist vimperator command + liberator.commands.addUserCommand(['ua'],'Switch User Agent', + function(arg, special){ + if (special) useragentswitcher_options(); + else if (!arg) liberator.echo("UserAgent: " + getItems().filter(function(n) {return n.checked})[0].label); + else window.eval(getItems().filter(function(n) {return n.label == arg})[0].oncommand); + },{ + completer: function(filter, special){ + return [0, getItems().map(function(n) { return [n.label, n.label] })]; + } + } + ); +})(); -- cgit v1.2.3