Skip to content

Instantly share code, notes, and snippets.

@tatat
Created September 15, 2012 06:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tatat/3726650 to your computer and use it in GitHub Desktop.
Save tatat/3726650 to your computer and use it in GitHub Desktop.
twitter.com ツイート自動読み込みさん
// ==UserScript==
// @name twitter.com ツイート自動読み込みさん
// @version 0.1
// @namespace http://n-at.me/
// @description twitter.com ツイート自動読み込みさん ( ◜◡‾)
// @include http://twitter.com/*
// @include https://twitter.com/*
// @author tatあt
// ==/UserScript==
!function() {
var TARGET_CLASS = 'new-tweets-bar';
setTimeout(function wrapper() {
var target = document.querySelectorAll('.' + TARGET_CLASS);
if (!target.length) {
setTimeout(wrapper, 2000);
return;
}
for (var i = 0, j = target.length; i < j; i ++)
trigger_click(target[i]);
setTimeout(wrapper, 10000);
}, 2000);
// ===== DOMNodeInserted 発火しなくなってた( ◜◡‾)ネー
// document.addEventListener('DOMNodeInserted', function(e) {
// var target;
// if(e.target.nodeType !== 1)
// return;
// if (has_class(e.target, TARGET_CLASS)) {
// trigger_click(e.target);
// } else if (target = e.target.querySelector('.' + TARGET_CLASS)) {
// trigger_click(target);
// }
// }, false);
function trigger_click(target) {
var click = document.createEvent('MouseEvent');
click.initEvent('click', true, true);
if(typeof target === 'string') {
target = document.querySelectorAll(target);
for(var i = 0, j = target.length; i < j; i ++)
target[i].dispatchEvent(click);
} else if (target instanceof Element){
target.dispatchEvent(click);
} else {
return false;
}
return true;
}
function has_class(elem, class_name) {
if (elem.classList) {
return elem.classList.contains(class_name);
} else {
return elem.className.split(/\s+/).indexOf(class_name) > -1;
}
}
}();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment