iOSの標準ブラウザのSafariをパワーアップしたメモ。
もくじ
牢破り
iOSデバイスの機能制限を解除する事を牢破りと言うそうですが、通常だと編集する事のできないファイルを編集したり、AppStoreでは手に入らないアプリをインストールする事も出来ます。
hostsファイル
hostsファイルはDNSより優先されるので代替サーバーのアドレスを記載したりしますが、目的のサーバーをデバイス自身にする事で、ネット上にサーバーが見つからないようにできます。
例
例えば[**Qiita**](https://qiita.com/)のアドレスを次のようにhostsに書き加えると、Qiitaにアクセスできなくなります。 ` 127.0.0.1 localhost ::1 localhost 127.0.0.1 qiita.com ::1 qiita.com`解説
- IPv4のアドレス`127.0.0.1`とIPv6のアドレス`::1`を`localhost`として宣言してるので、`qiita.com`へ接続する際に`localhost`を探すことになりますが、デバイス自身である`localhost`には`qiita.com`の情報がないので、Safariで[**Qiita**](https://qiita.com/)にアクセスすると、 **「ページを開けません。Safariはサーバに接続できませんでした。」** と表示されQiitaにアクセスできなくなります。このしくみを応用して、埋め込まれた広告のアドレスをlocalhost
に書き換えるように記述すると、WEBページは閲覧できてるのに埋め込まれた広告は表示されなくなります。
hostsの場所
iOSの場合/etc/hosts
にあります。
広告リスト
広告のドメインをまとめたファイルを配布してるサイトがたくさんあります。
Safari Plus
Safariは優れたモバイルブラウザですが、いくつかの機能がありません。 そこで、Safari Plusが登場します。…
repoへ
- アップロードを可能にする
- ダウンロードマネージャー
- フルスクリーンスクロール
- ブラウザデータの自動消去
- 他にもたくさん
FullSafari
iPhone版SafariでもiPad版のようにタプを使えるようにする。
repoへ
ADブロック系アプリ
「設定」>「Safari」>「コンテンツブロッカー」からオンオフするだけで、Safariの広告をブロックすることができる。
AdFilter
Safariを快適にする広告ブロックアプリ
アド消しくん
完全無料の広告ブロックアプリ
ブックマークレット
通常、ブックマークにはURLを登録しますが、「javascript」で記述した1ラインのプログラムを登録したものを「ブックマークレット」と言い、色々なことができるのですが、ブラウザやプラットホームによっては動作しないの場合があります。
ページを翻訳
GoogleChromeではお馴染みのページを翻訳する機能をiOS版Safariで実現できます。
javascript:void(0);void(0);void(0);void(0);void(%27Add%20this%20text%20into%20the%20code%20to%20suppress%20the%20tooltip%20with%20long%20script%27);void(0);void(0);void(0);void(0);void(0);void(0);void(0);q=location.href;void(location.href=%27http://translate.google.com/translate?hl=ja&sl=en&u=%27+q);
[タイトル](URL)
ページのタイトルとURLをマークダウンのリンクの記述方法[タイトル](URL)
でクリップボードにコピーします。
javascript:(function()%7Bvar%20copy=function(copyText,successCB)%7Bif(!successCB)%7BsuccessCB=function(text)%7B%7D;%7Dif(window.clipboardData)%7Bwindow.clipboardData.setData(%22Text%22,copyText);return;%7Dvar%20tmpElem=document.createElement('div');tmpElem.style.position='absolute';tmpElem.style.left='-1000px';tmpElem.style.top='-1000px';tmpElem.innerText=copyText;document.body.appendChild(tmpElem);var%20range=document.createRange();range.selectNodeContents(tmpElem);var%20selection;selection=window.getSelection();selection.removeAllRanges();selection.addRange(range);var%20success=true;try%7Bsuccess=document.execCommand(%22copy%22,false,null);%7Dcatch(e)%7BcopyToClipboardFF(copyText);%7Dif(success)%7BsuccessCB(copyText);tmpElem.remove();%7D%7D;copy('%5B'+document.title+'%5D('+location.href+')');%7D)()
HTMLを表示
現在のページのHTMLを表示する。
javascript:d=document;c=d.charset||0;i=0;o=d.documentElement;d.write%28%22%3Cpre%3E%22+%28o.outerHTML||o.innerHTML%29.replace%28/&/g,%22&%22%29.replace%28/%3C/g,%22<%22%29.replace%28/%3E/g,%22>%22%29+%22%3C/pre%3E%22%29;c?d.charset=c:0;void%28document.close%28%29%29;
別バージョン
ソースを表示
上のHTMLを表示と似たようなものですが、別ウインドウでハイライト表示してくれます。
でも、あまり使えるページがないかも?
Snoopy
javascript:(function()%7Bvar%20d%3Ddocument%2Cs%2Ce%3Bvar%20el%3Dd.getElementById('snpy')%3Bif(typeof%20Snoopy!%3D'undefined')%7BSnoopy.toggle()%3Breturn%7Delse%20if(el)%7Bel.className%3D%2Fclosed%2F.test(el.className)%3Fel.className.replace('closed'%2C'')%3Ael.className%2B'%20closed'%3Breturn%7Ds%3Dd.createElement('link')%3Bs.setAttribute('href'%2C'http%3A%2F%2Fsnoopy-assets.allmarkedup.com%2Fsnoopy-min.css')%3Bs.setAttribute('rel'%2C'stylesheet')%3Bs.setAttribute('type'%2C'text%2Fcss')%3Bd.getElementsByTagName('head')%5B0%5D.appendChild(s)%3Be%3Dd.createElement('script')%3Be.setAttribute('src'%2C'http%3A%2F%2Fsnoopy-assets.allmarkedup.com%2Fsnoopy-min.js')%3Bd.getElementsByTagName('body')%5B0%5D.appendChild(e)%7D)()%3B
Amazonで検索
選択したテキストをAmazonで検索します。
javascript:(function()%7Bvar%20t=''+(window.getSelection%20?%20window.getSelection():%20document.getSelection%20?%20document.getSelection():%20document.selection.createRange().text);if(!t)%7BL=document.location.href;if(L.match(/(yahoo%5C.).+?.*p=(%5B%5E&%5D+)/)%7C%7CL.match(/(amazon%5C.).+?.*field-keywords=(%5B%5E&%5D+)/)%7C%7CL.match(/(%5C.wikipedia%5C.).+%5C/wiki%5C/(%5B%5E%5C/%5D+)/)%7C%7CL.match(/(youtube%5C.).+search_query=(%5B%5E&%5D+)/)%7C%7CL.match(/(%5C?.*%5Cb)q=(%5B%5E&%5D+)/)%7C%7CL.match(/(%5C%23search%5C/)(%5B%5E%5C/%5D+)/))t=decodeURIComponent(RegExp.$2);%7Dif(!t)t=prompt('amazon検索','');if(t)open('http://www.amazon.co.jp/exec/obidos/external-search/?keyword='+encodeURIComponent(t),'_blank');%7D)()