>これもやはり安全のため「ダイアログを表示する」
>を選んでおくのがよいかもしれません。
と、書きましたが根気のある人以外はだめかもしれません。いまどきはActiveXを使っているページばかりだということをダイアログが丁寧に教えてくれます(^^;;;
わたしは、根負けして「有効」に戻しました。
Posted by: 高橋登史朗 : 2004年06月28日 17:04livedoor側にもatomが用意されていることを発見(^^;。。。無駄なことしていました。じゅげむもJavaScriptを使えるようなので、そのうち、そのあたりも調べて直します。
Posted by: 高橋登史朗 : 2004年06月27日 18:25ほかのサイトのブログタイトルを読み込む ソース
■2004.06.24 2番目につくったバージョン
----------------------------------------
最初に作ったバージョンのxdoc.urlがMozでエラーになったので。。。
<script type="text/javascript">
<!--
/*==========================================================
//クロスブラウザ load関数
引数 : url XMLファイルのurl
func 読み込み成功時の起動関数名
戻値 : 読み込まれたXMLノードツリー
例 : loadFile( 'data.xml', func1 )
function func1(){alert('test')}
Support http://game.gr.jp/js/
*/
function loadFile(url,func)
{
if(document.getElementById){
if (window.ActiveXObject)
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async = false
if(xmlDoc.load(url)){func(xmlDoc)}
} else if ( document.implementation &&
document.implementation.createDocument )
{
var xmlDoc = document.implementation.createDocument("","",null)
xmlDoc.onload = function (){func(xmlDoc)}
xmlDoc.load(url)
}
return xmlDoc
}
}
/*==========================================================*/
//読み込んだXMLのデータをもとにHTMLへ書き出す
function writeXMLData3(xdoc)
{
var listLen = 10 //表示件数 wktitle.length
var ns_dc = "http://purl.org/dc/elements/1.1/"
//XML内の取り出したいタグの配列を作る
var wktitle = xdoc.getElementsByTagName("title")
//livedoorの.rdfとMTのatom.xmlをスイッチ
if(wktitle[0].firstChild.nodeValue.indexOf("OpenSpace")!=-1)
var site = "livedoor"
else var site = ""
if(site=="livedoor")
var wkmodified = xdoc.getElementsByTagName("dc:date")
else
var wkmodified = xdoc.getElementsByTagName("modified")
if(document.all){
var wksubject = xdoc.getElementsByTagName("dc:subject")
} else {
var wksubject = xdoc.getElementsByTagNameNS( ns_dc ,"subject")
}
//書き出すためのdiv
wkdiv3 = document.getElementById("writeXMLDataDiv3")
wkdiv3.innerHTML=""
//"title"タグが出てきた順に処理する
for( i = 1 ; i < listLen + 1 ; i++ )
{
if ( wktitle.length <= i ) break;
//urlを取り出す
var wklink = xdoc.getElementsByTagName("link")[i]
if(site=="livedoor")
var wklinkHref = wklink.firstChild.nodeValue
else
var wklinkHref = wklink.attributes.getNamedItem("href").nodeValue
//各タグ内のfirstChildのデータだけをinnerHTMLで書き出す
wkdiv3.innerHTML += '<font size=-1>'
+ '<a href="'+ wklinkHref +'">'
+ '<b>[' + wksubject[(i-1)].firstChild.nodeValue +'] </b>'
+ wktitle[i].firstChild.nodeValue
+ '</a><br />'
+ wkmodified[i].firstChild.nodeValue
+ '</font><br>'
}
wkdiv3.innerHTML += '<hr>'
}
//-->
</script>
<input type = "button"
value = "Myブログタイトル読み込み 最新の10件"
onclick= "loadFile('<br>">http://jsgt.org/mt/01/atom.xml',writeXMLData3)"><br>
<input type = "button"
value = "古籏さんのブログタイトル読み込み 最新の10件"
onclick= "loadFile('<br>">http://blog.livedoor.jp/openspc2/index.rdf',writeXMLData3)"><br>
<input type = "button"
value = "クリア"
onclick= "if(window.wkdiv3)wkdiv3.innerHTML=''">
<div id="writeXMLDataDiv3">ブログタイトルを読み込みます</div>
Posted by: 高橋登史朗 : 2004年06月24日 01:21ほかのサイトのブログタイトルを読み込む ソース
■2004.06.24 最初につくったバージョン
----------------------------------------
livedoorの.rdfとMTのatom.xmlをクロスにするのに苦労してます。が、なりゆきでこうなっていますけど、MTには。rdfも用意されているので、そっちでやればよいはず...(^^;;
ただ、どうせatom準拠は優先したいし。。。ってことでのトライアルです。ま、いずれにしても、そのうちブログ別に分岐を整理しようっと。
<script type="text/javascript">
<!--
/*==========================================================
//クロスブラウザ load関数
引数 : url XMLファイルのurl
func 読み込み成功時の起動関数名
戻値 : 読み込まれたXMLノードツリー
例 : loadFile( 'data.xml', func1 )
function func1(){alert('test')}
Support http://game.gr.jp/js/
*/
function loadFile(url,func)
{
if(document.getElementById){
if (window.ActiveXObject)
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async = false
if(xmlDoc.load(url)){func(xmlDoc)}
} else if ( document.implementation &&
document.implementation.createDocument )
{
var xmlDoc = document.implementation.createDocument("","",null)
xmlDoc.onload = function (){func(xmlDoc)}
xmlDoc.load(url)
}
return xmlDoc
}
}
/*==========================================================*/
//読み込んだXMLのデータをもとにHTMLへ書き出す
function writeXMLData3(xdoc)
{
//livedoorの.rdfとMTのatom.xmlをスイッチ
if(xdoc.url.indexOf("livedoor")!=-1)
var site = "livedoor"
else var site = ""
var listLen = 10 //表示件数 wktitle.length
var ns_dc = "http://purl.org/dc/elements/1.1/"
//XML内の取り出したいタグの配列を作る
var wktitle = xdoc.getElementsByTagName("title")
if(site=="livedoor")
var wkmodified = xdoc.getElementsByTagName("dc:date")
else
var wkmodified = xdoc.getElementsByTagName("modified")
if(document.all){
var wksubject = xdoc.getElementsByTagName("dc:subject")
} else {
if(site=="livedoor")
var wksubject = xdoc.getElementsByTagNameNS( ns_dc ,"subject")
}
//書き出すためのdiv
wkdiv3 = document.getElementById("writeXMLDataDiv3")
wkdiv3.innerHTML=""
//"title"タグが出てきた順に処理する
for( i = 1 ; i < listLen + 1 ; i++ )
{
if ( wktitle.length <= i ) break;
//urlを取り出す
var wklink = xdoc.getElementsByTagName("link")[i]
if(site=="livedoor")
var wklinkHref = wklink.firstChild.nodeValue
else
var wklinkHref = wklink.attributes.getNamedItem("href").nodeValue
//各タグ内のfirstChildのデータだけをinnerHTMLで書き出す
wkdiv3.innerHTML += '<font size=-1>'
+ '<a href="'+ wklinkHref +'">'
+ '<b>[' + wksubject[(i-1)].firstChild.nodeValue +'] </b>'
+ wktitle[i].firstChild.nodeValue
+ '</a><br />'
+ wkmodified[i].firstChild.nodeValue
+ '</font><br>'
}
wkdiv3.innerHTML += '<hr>'
}
//-->
</script>
<input type = "button"
value = "Myブログタイトル読み込み 最新の10件"
onclick= "loadFile('<br>">http://jsgt.org/mt/01/atom.xml',writeXMLData3)"><br>
<input type = "button"
value = "古籏さんのブログタイトル読み込み 最新の10件"
onclick= "loadFile('<br>">http://blog.livedoor.jp/openspc2/index.rdf',writeXMLData3)"><br>
<input type = "button"
value = "クリア"
onclick= "if(window.wkdiv3)wkdiv3.innerHTML=''">
<div id="writeXMLDataDiv3">ブログタイトルを読み込みます</div>
Posted by: 高橋登史朗 : 2004年06月24日 00:20