Created
April 9, 2012 04:23
-
-
Save autch/2341412 to your computer and use it in GitHub Desktop.
2NN (http://2nn.jp/) for iPhone/Android, requires jquery.cookie.js, put it beside this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=0"/> | |
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"> | |
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> | |
<script type="text/javascript" src="jquery.cookie.js"></script> | |
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script> | |
<script type="text/javascript"> | |
function initialize_feeds(url, parent) | |
{ | |
var url_prefix = $.cookie("url_prefix"); | |
var yql_query = "SELECT * FROM rss WHERE url = '%s'"; | |
var yql_url = 'http://query.yahooapis.com/v1/public/yql?callback=?'; | |
var container = $(parent); | |
if(!url_prefix) url_prefix = ""; | |
container.empty(); | |
$.getJSON(yql_url, { | |
q: yql_query.replace(/%s/, url), | |
format: "json", | |
}, function(data) { | |
var container = $(parent); | |
container.empty(); | |
for(var i in data.query.results.item) { | |
var item = data.query.results.item[i]; | |
var li = jQuery("<li>"); | |
var a = jQuery("<a>"); | |
a.text(item.title); | |
a.attr("href", url_prefix + item.link).attr("target", "_blank"); | |
li.append(a); | |
container.append(li); | |
} | |
container.listview("refresh"); | |
}); | |
} | |
function get_feeds(elem, parent) | |
{ | |
var e = $(elem) | |
var board = e.attr("data-2nni-board"); | |
$("#news-title").text(e.text()); | |
if(board == null || typeof(board) == "undefined") | |
return initialize_feeds('http://www.2nn.jp/rss/index.rdf', parent); | |
url = "http://www.2nn.jp/rss/" + board + ".rdf"; | |
return initialize_feeds(url, parent); | |
} | |
function load_cookie() | |
{ | |
var url = $.cookie("url_prefix"); | |
if(!url) url = ""; | |
$("#url_prefix", "#config").val(url); | |
} | |
function save_cookie() | |
{ | |
var t = $("#url_prefix", "#config"); | |
var url = t[0].value; | |
$.cookie("url_prefix", url, { expires: 365 }); | |
} | |
$('#config').live('pagebeforeshow', function(ev, ui) { | |
load_cookie(); | |
}); | |
</script> | |
</head> | |
<body> | |
<div id="home" data-role="page"> | |
<div data-role="header"> | |
<h1>2NNi</h1> | |
<a href="#config" data-icon="gear" data-rel="dialog" class="ui-btn-right">設定</a> | |
</div><!-- /header --> | |
<div data-role="content"> | |
<ul data-role="listview"> | |
<li><a href="#news" onclick="get_feeds(this, '#news-items');">2NN トップページ</a></li> | |
<li><a href="#news" data-2nni-board="newsplus" onclick="get_feeds(this, '#news-items');">ニュース速報+</a></li> | |
<li><a href="#news" data-2nni-board="mnewsplus" onclick="get_feeds(this, '#news-items');">芸能・スポーツニュース速報+</a></li> | |
<li><a href="#news" data-2nni-board="news4plus" onclick="get_feeds(this, '#news-items');">東アジアニュース速報+</a></li> | |
<li><a href="#news" data-2nni-board="bizplus" onclick="get_feeds(this, '#news-items');">ビジネスニュース+</a></li> | |
<li><a href="#news" data-2nni-board="news5plus" onclick="get_feeds(this, '#news-items');">国際ニュース速報+</a></li> | |
<li><a href="#news" data-2nni-board="scienceplus" onclick="get_feeds(this, '#news-items');">科学ニュース+</a></li> | |
<li><a href="#news" data-2nni-board="femnewsplus" onclick="get_feeds(this, '#news-items');">ほのぼのニュース+</a></li> | |
<li><a href="#news" data-2nni-board="moeplus" onclick="get_feeds(this, '#news-items');">萌えニュース+</a></li> | |
<li><a href="#news" data-2nni-board="dqnplus" onclick="get_feeds(this, '#news-items');">痛いニュース+</a></li> | |
<li><a href="#news" data-2nni-board="owabiplus" onclick="get_feeds(this, '#news-items');">お詫び+</a></li> | |
</ul> | |
</div><!-- /content --> | |
<div data-role="footer" class="ui-bar"> | |
<a href="#help" data-role="button" data-icon="arrow-r">ヘルプ</a> | |
<a href="http://www.2nn.jp/" target="_self" data-role="button" data-icon="arrow-r">2NN へ</a> | |
</div><!-- /footer --> | |
</div><!-- /page --> | |
<div id="news" data-role="page"> | |
<div data-role="header"> | |
<a href="#home" data-icon="home" data-direction="reverse" class="ui-btn-left jqm-home">ホーム</a> | |
<h1 id="news-title"></h1> | |
<a href="#config" data-icon="gear" data-rel="dialog" class="ui-btn-right">設定</a> | |
</div><!-- /header --> | |
<div data-role="content"> | |
<ul id="news-items" data-role="listview" data-filter="true"> | |
</ul> | |
</div> | |
</div> | |
<div id="help" data-role="page"> | |
<div data-role="header"> | |
<a href="#home" data-icon="home" data-direction="reverse" class="ui-btn-left jqm-home">ホーム</a> | |
<h1>ヘルプ</h1> | |
<a href="#config" data-icon="gear" data-rel="dialog" class="ui-btn-right">設定</a> | |
</div><!-- /header --> | |
<div data-role="content"> | |
<h3>このサイトについて</h3> | |
<p><a target="_blank" href="http://www.2nn.jp/">2NN</a> から RSS を | |
取得して、iPhone などで見やすいように表示します。また、リンク先に | |
p2 などの専用ブラウザを設定できるようにします。</p> | |
<p>リンク先設定はユーザの Cookie に保存されるため、サーバには何の情 | |
報も保存されません。Cookie の有効期限は 1 年です。</p> | |
<h3>「設定」ボタン</h3> | |
<p>リンクを選んだときに、それを開くための URL を設定します。ここで設 | |
定した文字列の後に、スレの URL を連結したものがリンク先になります。 | |
</p> | |
<p>自鯖で <a href="http://akid.s17.xrea.com/">p2</a> をお持ちの方は、 | |
read.php への URL を設定することでrep2iPhone へのダイレクトリンク | |
が出来るようになります。というかそのために作った。</p> | |
<p>Android ならインテントの URL を書くことで、専用ブラウザソフトへ | |
のダイレクトリンクが出来るようになるでしょう。対応アプリがあれば | |
の話ですが。</p> | |
<p>自鯖 p2 へ飛ばすには、 | |
<code>http://ホスト名/p2へのパス/read.php?b=i&url=</code> | |
と指定してください。</p> | |
</div> | |
</div> | |
<div id="config" data-role="page" title="設定"> | |
<div data-role="header"> | |
<h1>専ブラの設定</h1> | |
</div><!-- /header --> | |
<div data-role="content"> | |
<label>URL:</label> | |
<input type="text" id="url_prefix" name="url_prefix" value=""/> | |
<p>この値にスレの URL が追加されます。 | |
値が空だと直接開きます。 | |
設定は Cookie に保存されます。</p> | |
<a data-role="button" onclick="save_cookie();$('.ui-dialog').dialog('close');">保存</a> | |
</div> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment