mobilet
@@ -1,18 +1,38 @@
/*
- * @title Hatena::Letをブクマしやすくするやつ
- * @description .packed.jsを匿名関数で囲ってdataURI化して遷移
+ * @title mobilet
+ * @description easy copyable Hatena::Let for mobile
* @include http://let.hatelabo.jp/*
- * @license MIT License
- * @require
+ * @include http://let.st-hatelabo.com/*
+ * @contributor unarist http://let.hatelabo.jp/unarist/let/hJmev5uFgvc1 (Fork of)
+ * @license MIT License http://opensource.org/licenses/MIT
+ * @javascript_url
*/
+// many problems of packed.js copy; c.f.
+// http://let.hatelabo.jp/noromanba/let/hLHUzoez66cW
+// http://let.hatelabo.jp/noromanba/let/hJmczoeEkbdW
+(function() {
+'use strict';
+
var xhr = new XMLHttpRequest();
-xhr.open('GET', location.href+'.packed.js');
+xhr.open('GET', location.href + '.packed.js');
+xhr.timeout = 2000;
xhr.onload = function() {
- location.href = 'data:text/plain,javascript:' + xhr.response
+ if (xhr.readyState !== xhr.DONE || xhr.status !== 200) return;
+
+ location.href = 'data:text/plain,javascript:' + xhr.responseText
.replace(/^javascript:/, '')
.replace(/^([^(+].+)/, '(function(){$1})()');
+
+ return;
};
xhr.send();
-// javascript:(function(a){a.open("GET",location.href+".packed.js");a.onload=function(){location.href="data:text/plain,javascript:"+a.response.replace(/^javascript:/,"").replace(/^([^(+].+)/,"(function(){$1})()")};a.send()})(new XMLHttpRequest)
+})();
+
+// minified w/ Babili
+// https://babeljs.io/repl/
+/* for mobile
+javascript:(function(){var a=new XMLHttpRequest;a.open('GET',location.href+'.packed.js'),a.timeout=2e3,a.onload=function(){a.readyState===a.DONE&&200===a.status&&(location.href='data:text/plain,javascript:'+a.responseText.replace(/^javascript:/,'').replace(/^([^(+].+)/,'(function(){$1})()'))},a.send()})();
+*/
+
/*
* @title mobilet
* @description easy copyable Hatena::Let for mobile
* @include http://let.hatelabo.jp/*
* @include http://let.st-hatelabo.com/*
* @contributor unarist http://let.hatelabo.jp/unarist/let/hJmev5uFgvc1 (Fork of)
* @license MIT License http://opensource.org/licenses/MIT
* @javascript_url
*/
// many problems of packed.js copy; c.f.
// http://let.hatelabo.jp/noromanba/let/hLHUzoez66cW
// http://let.hatelabo.jp/noromanba/let/hJmczoeEkbdW
(function() {
'use strict';
var xhr = new XMLHttpRequest();
xhr.open('GET', location.href + '.packed.js');
xhr.timeout = 2000;
xhr.onload = function() {
if (xhr.readyState !== xhr.DONE || xhr.status !== 200) return;
location.href = 'data:text/plain,javascript:' + xhr.responseText
.replace(/^javascript:/, '')
.replace(/^([^(+].+)/, '(function(){$1})()');
return;
};
xhr.send();
})();
// minified w/ Babili
// https://babeljs.io/repl/
/* for mobile
javascript:(function(){var a=new XMLHttpRequest;a.open('GET',location.href+'.packed.js'),a.timeout=2e3,a.onload=function(){a.readyState===a.DONE&&200===a.status&&(location.href='data:text/plain,javascript:'+a.responseText.replace(/^javascript:/,'').replace(/^([^(+].+)/,'(function(){$1})()'))},a.send()})();
*/
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。