Skip to content

Instantly share code, notes, and snippets.

@hogashi
Last active March 1, 2017 16:14
Show Gist options
  • Save hogashi/debb2df2a9b28e82dd17587a44e15445 to your computer and use it in GitHub Desktop.
Save hogashi/debb2df2a9b28e82dd17587a44e15445 to your computer and use it in GitHub Desktop.
// pixivnovel.js
// // ページ全体でDOMの変更を検知し都度ボタン設置
// var target = document.querySelector('html')
// var observer = new MutationObserver(main)
// var config = {childList: true, subtree: true}
// observer.observe(target, config)
var gebi = id => document.getElementById(id),
gebc = className => document.getElementsByClassName(className),
gebt = tagName => document.getElementsByTagName(tagName)
document.addEventListener('keydown', event => {
if(event.key == '0' && !(document.getElementById('mylayoutened'))) {
[
gebc('layout-column-1')[0],
gebc('layout-wrapper')[0],
gebt('header')[0],
gebc('scroll-follower')[0],
gebc('_shortcut-help')[0],
gebc('ad-footer')[0],
gebc('footer')[0],
gebc('_toolmenu')[0],
gebi('toolbar-items')
].concat(Array.from(gebc('_unit _work-detail-unit')[0].children))
.concat(Array.from(gebt('iframe')))
.map(elem => {
if(!(elem.tagName.match(/article/i))){
return elem.parentNode.removeChild(elem)
}
return null
})
let rightColumn = gebc('layout-column-2')[0]
rightColumn.style.float = 'none'
let novelPagesWrapper = gebc('novel-pages-wrapper')[0]
novelPagesWrapper.style.padding = '10%'
const containerTags = [
gebi('wrapper'),
gebc('layout-body')[0],
gebc('layout-a')[0],
rightColumn
]
containerTags.forEach(elem => elem.style.width = '100%')
let novelPage = gebc('novel-page')[0]
let contentStyle = {
fontFamily: 'sans-serif',
fontSize: '10pt',
lineHeight: '22px'
}
Object.keys(contentStyle).map(k => novelPage.style[k] = contentStyle[k])
let doneDiv = document.createElement('div')
doneDiv.id = 'mylayoutened'
doneDiv.style.visibility = 'hidden'
gebt('body')[0].appendChild(doneDiv)
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment