Skip to content

Instantly share code, notes, and snippets.

@miya2000
miya2000 / pixivreader.js
Created September 28, 2010 22:31
for Opera10.10
// ==UserScript==
// @name pixivreader
// @author edvakf
// @namespace http://d.hatena.ne.jp/edvakf/
// @include http://www.pixiv.net/new_illust.php*
// @include http://www.pixiv.net/search.php*
// @include http://www.pixiv.net/tags.php*
// @include http://www.pixiv.net/ranking.php*
// @include http://www.pixiv.net/ranking_log.php*
// @include http://www.pixiv.net/bookmark_new_illust.php*
Index: src/org/insightech/er/editor/model/dbimport/ImportFromDBManagerBase.java
===================================================================
--- src/org/insightech/er/editor/model/dbimport/ImportFromDBManagerBase.java (リビジョン 19)
+++ src/org/insightech/er/editor/model/dbimport/ImportFromDBManagerBase.java (作業コピー)
@@ -18,6 +18,8 @@
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* Tapper
* tap, step, tap, roll, roll, roll ...
* @see http://d.hatena.ne.jp/brazil/20071030/1193711816
*/
function Tapper() {
this.rolling = false;
this.unbounded = false;
this.tapped = 0;
this.lastTapped = 0;
//http://d.hatena.ne.jp/amachang/20100624/1277359266
var isElementInDocument = (function() {
function isElementInDocumentA(node) {
return node != null && (node.nodeType == 9 || (node.compareDocumentPosition(node.ownerDocument) & 1) == 0);
}
function isElementInDocumentB(node) {
return node != null && (node.nodeType == 9 || node.ownerDocument.documentElement === node || node.ownerDocument.documentElement.contains(node));
}
function isElementInDocumentC(node) {
var target = node;
/**
* EventDispatcher
* @see http://www.fladdict.net/blog-jp/archives/2005/06/javascript.php
* @see http://nanto.asablo.jp/blog/2007/03/23/1339498
*/
function EventDispatcher(thisObj) {
if (this instanceof EventDispatcher) {
this.addEventListener = addEventListener;
this.removeEventListener = removeEventListener;
this.dispatchEvent = dispatchEvent;
var getValidCssPropertyName = (function() {
function camelize(str) {
return str.replace(/-([a-z])/g, function($0,$1) { return $1.toUpperCase() });
}
function decamelize(str) {
return str.replace( /[A-Z]/g, function($0) { return "-" + $0.toLowerCase() });
}
var tmpStyle = null;
function getValidCssPropertyName(cssStr, forJS) {
if (!cssStr) return '';
// ==UserScript==
// @name myopera - stop autosave.
// @include http://my.opera.com/*/blog/*
// ==/UserScript==
(function(){
var targets = [
'http://static.myopera.com/community/js/site/blog/autosave-min.js'
];
window.opera.addEventListener('BeforeExternalScript', function(e) {
var src = e.element.src;
if (window.top != window.self) {
// たぶん BackCompat じゃないと動かない。
if (this.scrollable.isRoot()) {
document.body.style.height = '100%';
document.body.style.overflow = 'hidden';
}
detach.push(subscribe(window, 'focus', bind(this, function() {
var left = -parseInt(document.documentElement.style.marginLeft, 10) || 0;
var top = -parseInt(document.documentElement.style.marginTop, 10) || 0;
document.documentElement.style.marginLeft = '';
javascript:(function(){
var ifr = document.createElement('iframe');
ifr.src = 'data:text/html;charset=utf-8,%3Chtml%3E%0D%0A%3Cbody%3E%0D%0A%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0D%0Awindow.addEventListener(%22message%22%2C%20receiveMessage%2C%20false)%3B%0D%0Afunction%20receiveMessage(e)%20%7B%0D%0A%20%20%20%20alert(localStorage%5B%22aaa%22%5D)%3B%0D%0A%20%20%20%20localStorage%5B%22aaa%22%5D%20%3D%20e.data%3B%0D%0A%20%20%20%20alert(localStorage%5B%22aaa%22%5D)%3B%0D%0A%7D%0D%0A%3C%2Fscript%3E%0D%0A%3C%2Fbody%3E%0D%0A%3C%2Fhtml%3E%0D%0A';
document.body.appendChild(ifr);
ifr.addEventListener('load', function() {
alert('post');
ifr.contentWindow.postMessage('aaaaaaaaaa', '*');
}, false);
})()
<p class="search_box">
検索:<input type="text" size="50" id="Q" autocomplete="off"> <button id="S">検索</button> <a href="#OPTION_PANE" id="OPTION_TOGGLE">オプション</a>
</p>
<p id="OPTION_PANE" class="option_box">
プレイヤーサイズ:
<select id="PLAYER_DIMENSION">
<option value="320x240">320x240</option>
<option value="640x480">640x480</option>
<option value="800x600" selected="selected">800x600</option>
<option value="full">フル</option>