はてなダイアリーで好きなテーマ(デザイン)を適用するブックマークレット
ベーステーマを指定していないダイアリーで効かなかったので修正。
はてなグループの日記でも可。
下記のコードはdeltaのCSSファイルのパス(/theme/delta/delta.css)を指定した例。
javascript:(function(){if(!/[dg].hatena.ne.jp/.test(location.href))return;var theme='/theme/delta/delta.css';var head=document.getElementsByTagName('HEAD').item(0);var links=head.getElementsByTagName('LINK');head.getElementsByTagName('STYLE').item(0).sheet.disabled=true;for(var i=0,l=links.length;i<l;i++){var link=links.item(i);if(link.rel=='stylesheet'&&/theme/.test(link.href)){link.href=theme;return;}}var newLink=document.createElement('LINK');newLink.rel='stylesheet';newLink.type='text/css';newLink.href=themePath;head.appendChild(newLink);})();
下記のコードは圧縮前のもの。
javascript:(function(){ if(!/[dg].hatena.ne.jp/.test(location.href)) return; var theme = '/theme/delta/delta.css'; var head = document.getElementsByTagName('HEAD').item(0); var links = head.getElementsByTagName('LINK'); head.getElementsByTagName('STYLE').item(0).sheet.disabled = true; for(var i=0, l=links.length; i<l; i++) { var link = links.item(i); if(link.rel == 'stylesheet' && /theme/.test(link.href)) { link.href = theme; return; } } var newLink = document.createElement('LINK'); newLink.rel = 'stylesheet'; newLink.type = 'text/css'; newLink.href = themePath; head.appendChild(newLink); })();