AJAXでのリロードに関して

教えて下さい。

あるページを一定の時間でリロードしたいと考えています。

その際に、javascript を使用すれば、以下のような記述で何分か単位で
自動リロードが可能ですが、それをAJAXにて実現するにはどのように記述
すれば良いでしょうか???

***** javascript の場合

<TITLE>ページをリロードする方法</TITLE>
<SCRIPT TYPE="text/javascript">
<!--
var timer = "300000";//指定ミリ秒単位
function ReloadAddr(){
window.location.reload();//ページをリロード
}
setTimeout(ReloadAddr, timer);
//-->
</SCRIPT>

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

私はあまりライブラリーを使わず自分でプログラムを書く方なので、一通りの機能を書いていますが、ざっくり書くと以下のような感じです。



そもそもAjaxとはどんな物かお分かりだという前提ですが、

createXmlHttpRequest関数はJavascript上でのHTTPクライアントを生成する関数です。
ブラウザによって処理の仕方が多少違うので、だいたいのブラウザに対応できるようにしたものです。

getAjaxData関数はAjaxを使ってサーバからデータをGETメソッドで取ってきて、<div id="ajax"></div>の間に書き込む処理をします。

そして、setInterval() で1秒に一回getAjaxData関数を呼び出しています。
setTimeout() だと一回限りなので、繰り返し一定間隔でコンテンツを書き換えるなら setInterval() がいいと思います。

<html>
<head>
<script type="text/javascript">
<!--
function createXmlHttpRequest() {
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
return null;
}
}
}
return xmlhttp;
}

function getAjaxData() {
xmlhttp1 = createXmlHttpRequest();
if (! xmlhttp1 || xmlhttp1.readyState == 1 || xmlhttp1.readyState == 2 || xmlhttp1.readyState == 3){
return;
}
xmlhttp1.open("GET", "./hoge.php", true);
xmlhttp1.onreadystatechange = function() {
if (xmlhttp1.readyState == 4 && xmlhttp1.status == 200) {
document.getElementById("ajax").innerHTML = xmlhttp1.responseText;
}
}
xmlhttp1.send(null);
}
setInterval("getAjaxData()", 1000);
//-->
</head>
<body>
<div id="ajax"><!-- Ajaxで書き換える部分 --></div>
</body>
</html>

この回答への補足

ありがとうございました! なんとかできるようになりました。

補足日時:2010/10/21 18:10
    • good
    • 0

目的はなんだろう?


そもそも、AJAXはおろか、Javascriptもいらないじゃないか...

<meta http-equiv="refresh" content="300">

SEOはよく知らんけど..

この回答への補足

ご回答あありがとうございました! 

確かに上記の方法でもjavascript でも実現は可能ですが、リロードした
際に画面が初期の状態(スクロールしてあっても最上部へ戻ってしまう)に
なってしまいますが、ajax を使用した場合はそれがないかと。。。

私の仕入れた情報が間違っているのかもしれませんが、、、、

補足日時:2010/10/21 18:13
    • good
    • 0

ReloadAddr関数の中の window.location.reload(); の替わりにAjaxを使ってページ内を書き換える処理を入れるだけです。

この回答への補足

ご回答ありがとうございます。

ajax に関して無知なもので申し訳ありません。

ajax を使用してページを書き換える記述はどのように記述したら良いでしょうか。。。

教えて頂ければ幸いです。

よろしくお願いしいます。

補足日時:2010/10/21 13:39
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q部首:音読み・訓読みとは別の作り方で考案された名称

部首の名称において、通常の音読みあるいは訓読みが使われているもの

力 → ちから
瓦 → かわら
臼 → うす
鼓 → つづみ

十 → ジュウ
寸 → スン
臣 → シン
龍 → リュウ

や音読み・訓読み両方が使われているもの

比 → ヒ;ならびひ;くらべる
用 → ヨウ;もちいる
走 → そうにょう;はしる
辛 → シン;からい
門 → モン;もんがまえ、かどがまえ

があります。

本質問では、音読み・訓読みとも関係なく作られた部首の名称について聞きたいと思います。

一応、五つの名称タイプを紹介させてもらいます。

1)仮名と関係がある

冖 → わかんむり
宀 → うかんむり
殳 → るまた
禾 → のぎ
釆 → のごめ

2)形と関係がある

丨 → ぼう、たてぼう
亅 → はねぼう;かぎ

3)仮名とも形とも関係がある

丿 → の;はらいぼう

4)他の部首の名称が影響を与えた

冫 → にすい
頁 → おおがい

5)他の部首の名称が影響を与え、区別するためにも作られた

酉 → ひよみのとり
隹 → ふるとり

上記のものはいつ・どこで・誰によって考案されたでしょうか。また、どんな過程によって・どの時点でその名称が定着したでしょうか。詳しい方、是非、教えて下さい。

部首の名称において、通常の音読みあるいは訓読みが使われているもの

力 → ちから
瓦 → かわら
臼 → うす
鼓 → つづみ

十 → ジュウ
寸 → スン
臣 → シン
龍 → リュウ

や音読み・訓読み両方が使われているもの

比 → ヒ;ならびひ;くらべる
用 → ヨウ;もちいる
走 → そうにょう;はしる
辛 → シン;からい
門 → モン;もんがまえ、かどがまえ

があります。

本質問では、音読み・訓読みとも関係なく作られた部首の名称について聞きたいと思います。

一応、五つの名称タイプを紹介させてもらいます。

1)仮...続きを読む

Aベストアンサー

『国語学大辞典』1980年9月の「部首」の項(山田俊雄氏執筆)には次のように書かれています。

「部首をなす字が、すべて、そのままの形で実用面に多く出現するわけではなく、その字音・字訓が広く知らているとはかぎらないので、部首の名称についても音よみ、訓よみ、形によるよみなどさまざまである。」
「『新撰字鏡』では連火・三水点・之遶、立心の語も見えていて、部首の呼び名が、いわゆる偏旁冠脚の呼び名の現在のものに、近い形に動いていたことが知られる。」
「古くは部立て・篇立ての意味で、部が作られ、篇が構成され、篇目すなわち部首であったから、篇とは部首全部について適合しうる語であった。また「片」の字も用いたのであって部は篇と同意で、したがって部首字が篇(また片、偏とも書かれた)とも呼ばれた。」
「日常的に多く見る漢字の偏旁冠脚の場合は通俗的なものを必要としたので、ほぼ一般に弘通した名があったが、部首字すべてに通俗の呼び名が行われたものとは認めがたい。部首名のまとまった資料は『運歩色葉集』、キリシタン版『落葉集』(小玉篇)、江戸時代に入っては、『節用集』末書などに付録されたものがある……」


  『新撰字鏡』(しんせんじきょう)昌住撰、900年成立。漢字を160の部にわけ、漢字で発音と意義を示すが、和訓も少なくない。最古の漢和辞典といわれる。
  『運歩色葉集』(うんぽいろはしゅう)16世紀半ばの成立。「色葉集」(語を頭音に従ってイロハ分けしただけの国語辞典)の一つ。
  『落葉集』(らくようしゅう)日本イエズス会のコレジヨで、1598年成立。「落葉集」(漢語の最初の漢字の音でイロハ分けした漢語字典120頁)・「色葉字集」(和語を頭音でイロハ分けした国語字典44頁)・「小玉篇」(漢字を140の部首で分けた漢字字典34頁)の三部構成。

『節用集』末書の二つを参看しました。

『(増廣字便)倭節用集悉改袋(やまとせつようしうしつかいふくろ)』1776 「篇冠構尽(へんかふりかまへつくし)」 135部首 
『大全早引節用集』天保年間 1840頃 「編冠構字尽(へんかむりかまへじつくし)」 98部首

近代の漢和辞典

榮田猛猪『(縮約)大字典』1920(大11) 「部首名称」 137部首
諸橋轍次『大漢和辞典』1955~60(昭30-35)では部首字(とその異体字)に読みを「国訓」として入れたものがあります。その数およそ110

 「部首のよみ」を全部そろえるようになったのは、ごく近年になってからのことのようです。

               1955     1920   1840       1776     1598
力    ちから     ちから    ちから   ちから      ──     ちから
      ──     ちからづくり ──    ──      ちからつくり
瓦    かわら      ──    ──    ──      かはら    かはら
臼    うす       ──    ──    ──       うす 
鼓    つづみ     
十    ジュウ      
寸    スン       ──    ──     ──      すんつくり   すん
臣    シン       
龍    リュウ       
比    ヒ         
     ならびひ      
     くらべる      
用    ヨウ        
     もちいる     
走    そうにょう   そうねう   そうねう    さうねう    そうにう    そうにう
     はしる       
辛    シン       
     からい      
門    モン       
     もんがまえ    ──    もんがまへ
     かどがまえ  かどがまへ  かどがまへ  かどがまへ   かどかまへ  かどがまひ
冖   わかんむり   わかんむり  わかんむり  へきかぶり   ひらかふり  ひらかむり
宀   うかんむり うかんむり   うかんむり  うかぶり     うかふり   うかむり
殳   るまた るまた     るまた    るまた    つはものつくり  るまた
    ──        ほこづくり
禾   のぎ のぎ      
    ──        のぎへん    のぎへん  のぎへん    のぎへん  のぎへん
釆   のごめ のごめへん   のごめへん  
丨   ぼう      
     たてぼう     ──     ──    てつちう 
亅    はねぼう    
     かぎ      
丿   の         ──      ──     へつへん
     はらいぼう  
冫   にすい にすゐ     にすゐ    にすい    にすい    にすい
頁   おおがい おほがひ   ──     ──      おほがひ
酉   ひよみのとり  ひよみのとり  ひよみのとり ひよみのとり ひよみ   ひよみのとり
     とりへん     とりへん    とりへん
隹   ふるとり ふるとり     ふるとり    ふるとり    ふるとり  ふるとり

『国語学大辞典』1980年9月の「部首」の項(山田俊雄氏執筆)には次のように書かれています。

「部首をなす字が、すべて、そのままの形で実用面に多く出現するわけではなく、その字音・字訓が広く知らているとはかぎらないので、部首の名称についても音よみ、訓よみ、形によるよみなどさまざまである。」
「『新撰字鏡』では連火・三水点・之遶、立心の語も見えていて、部首の呼び名が、いわゆる偏旁冠脚の呼び名の現在のものに、近い形に動いていたことが知られる。」
「古くは部立て・篇立ての意味で、部が...続きを読む

QFFでは問題ないのにIEでは止まります(非同期通信,prototype.js、ajax,Ajax.Request?)

http://ajax.pgtop.net/category/4478506-1.html

こんにちは、ajax初心者です。ajaxを勉強しようと思い、とりあえずこのサイトにあるプログラムを実行してみたのですが、IE以外のブラウザではうまくデータを受信するんですが、IEでは受信できません。ご指摘お願いします。
ちなみにサーバーは"httpd"と言うソフトで仮想サーバーです。

Aベストアンサー

> ちなみにサーバーは"httpd"と言うソフトで仮想サーバーです。
とのことですが、
アクセスしているURL(ブラウザのアドレス欄に入力するアドレス)はhttp://localhost/というアドレスになっていますか?

c\:www\index.html
file:///c\:www\index.html

などのアドレスになっていると、prototype.jsはこのアクセスの仕方に対応していませんので、うまく表示されないかもしれません。



>No.1
JK

Ajaxの話でブラウザと関係ないFinalFantasyを出すなら、
IEでアイルランドぐらい出してもいいんじゃないかな。

Q音読みと訓読み

私はもう少しで漢検を受けるのですが、音読みと訓読みがいまいちわかりません。学校では「音っぽい読み方をするのが音読み」と習ったのですが、全然わかりません。何か音読みと訓読みの違いを教えてください。

Aベストアンサー

カタカナで書きたくなるのが音読み
ひらがなで書きたくなるのが訓読み

意味を表すのが訓読み、表さないのが音読み

日本語っぽいのが訓読み、中国語っぽいのが音読み

Qページの一部だけリロード

こんばんわ。WEBページの作成技法について、質問をお願いします。

あるPHPファイル(仮にA)、内部で別のPHP(仮にB)ファイルを読み込んでいます。(require-once)
また、A内にはjavascriptが仕込んであります。

で本題ですが、AのJS処理後、B部分だけをリロードさせたいのですが、どのようにすれば
実現できるでしょうか?

アドバイス宜しくお願いします

Aベストアンサー

#1の方の補足的な感じになりますが、
A.php
<?php
//セッション処理
//リクエストサニタイズ処理
//POSTorGET解析
switch($_GET['cmd']){
case 'ajax' :
//B.phpの部分だけを吐き出して
exit;
break;
default :
//A.phpの処理とB.phpの処理
break;
}
?>


で、javascript側ではcmd=ajaxというGETでも付けて非同期通信を行えば良いのでは?

Q「猫」は音読みはないのでしょうか?

「犬」は音読みで、「ケン」と読みますが
「猫」は音読みはないのでしょうか?

Aベストアンサー

「びょう」です。

http://dictionary.goo.ne.jp/leaf/jn2/187633/m0u/%E7%8C%AB/

Qajax でのデータ受け渡しに関して

ajax でのデータ受け渡しに関して

わかりにくい内容で申し訳ありません。

現在、PHPで作成されているプログラムの中に、ajaxを組み込みたいと考えています。

処理の動きとしては、あるプルダウンが選択された場合、すぐさまその値をもとにしてDBへ
検索しに行くというものです。

通常、PHPだけの処理の場合、POST等を用いて、ボタンが押されたら違うphpファイルへ値を
送る事が可能かと思われます。

その処理をajax で選択されたらすぐに検索、表示というような動きをしたいと考えて
います。

但し、同じソース、画面上の中でなら、以下のような記述で表示させる事は可能かと
思われますが、HTMLで分割した画面で、上段で選択されたプルダウンの値をもとにして、検索
された結果を下段に表示させたいと考えています。

そもそも、ajaxでは同じ画面上での受け渡ししかできず、上記のように分割されたものでは
不可能なのでしょうか。。。

初歩的な内容で申し訳ありませんが、教えて頂きたいと思います。

《記述内容》

※ 現状では以下のようなサンプル記述をもとに、自画面(同一)上では表示が可能となっています。

<script>
function createXMLHttpRequest(){
if( window.XMLHttpRequest ){
return new XMLHttpRequest();
}else if( window.ActiveXObject ){
try{
return new ActiveXObject( "Msxml2.XMLHTTP" );
}catch(e){
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
}
return null;
}
function getDataPost( serverURL, objID ,obj){
var ajax = createXMLHttpRequest();
ajax.open( "POST", serverURL );
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange=function(){
if(( ajax.readyState == 4 ) && ( ajax.status == 200 )){
if(objID!=""){
var obj = document.getElementById( objID );
obj.innerHTML = ajax.responseText;
}
}
}
ajax.send( obj.name+"="+obj.value );
}
</script>


<select name="fuga" onchange="getDataPost('hogehoge.php','hoge',this)">
<option value="">---</option>
<option value="1">1</option>
<option value="2">2</option>
</select>

<div id="hoge"></div>

よろしくお願いします。

ajax でのデータ受け渡しに関して

わかりにくい内容で申し訳ありません。

現在、PHPで作成されているプログラムの中に、ajaxを組み込みたいと考えています。

処理の動きとしては、あるプルダウンが選択された場合、すぐさまその値をもとにしてDBへ
検索しに行くというものです。

通常、PHPだけの処理の場合、POST等を用いて、ボタンが押されたら違うphpファイルへ値を
送る事が可能かと思われます。

その処理をajax で選択されたらすぐに検索、表示というような動きをしたいと考えて
います。

但し...続きを読む

Aベストアンサー

POST で渡す方法として、Ajaxを教えてもらったのではないのでしょうか?
質問がループしているようで、現状がよく分かりません…。

下記URLで似たような質問があります。参考になるかもしれません。

プルダウンの切り替えに関して | OKWave
http://okwave.jp/qa/q6065270.html

# 前質問は締め切ったようですね。お礼なしなので、回答者への通知メールは来ませんでしたが。

Qあなたの名前は、音読み?訓読み?それとも重箱読み?

あなたのお名前は、音読みですか、訓読みですか、或いは重箱読みですか?

私(男性)は漢字一文字の名前で、音読みです。
因みに訓読みにすると、女性風になります。

Aベストアンサー

50代のオバちゃんです。

音読みと一つしか読みが無い漢字の二文字です。

初めて会った人にちゃんと読まれた事一度も無いです。

最近は少し聞く名前になってきました。

しかし同じ漢字の人には会った事ないです。

初めの漢字一文字は男性の名前にたまに見かけます。

なのでよく男性に間違われてダイレクトメールがきたりします。

Qページ全体をスクロールするAjaxで真ん中から

ページ全体をスクロールできるscrollsmoothly.jsをつかってサイトを構築しているのですが
設定上、どうしても左上からしか表示がされません。

■scrollsmoothly.js
http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmoothly


上記の中にあるsection2から下の場所を変更することはCSSで可能ですが
そうではなく、たとえば、スタートの位置をsection5あたりにもってきて
最初section1が表示され、斜めに移動するような動作をさせたいのですが
どこをどのように変更すればよいでしょうか?

イメージとしては
http://biwako-koyo.com/
ここのサイトが理想的です。

Aベストアンサー

どうせ前の質問で、「scrollsmoothly.js」改造してるんだから、
ついでに、場当たり的にいじっちゃえば、
「scrollsmoothly.js」のfunction init(){}の最後
48行目あたりに、
   function init(){
    // ページ内リンクにイベントを設定する
    setOnClickHandler();
    // 外部からページ内リンク付きで呼び出された場合
    if(incomingHash){
     if(window.attachEvent && !window.opera){
      // IEの場合はちょっと待ってからスクロール
      setTimeout(function(){scrollTo(0,0);setScroll('#'+incomingHash);},50);
     }else{
      // IE以外はそのままGO
      scrollTo(0, 0);
      setScroll('#'+incomingHash);
     }
    }
//ここに追加か、------------------------------
setScroll("#section5");
setTimeout(function(){setScroll("#section1");},1000); //1秒後に移動
   }

このスクリプトをもっと汎用的にクラス化したいところだけど、あまり弄ると別物になっちゃう。

どうせ前の質問で、「scrollsmoothly.js」改造してるんだから、
ついでに、場当たり的にいじっちゃえば、
「scrollsmoothly.js」のfunction init(){}の最後
48行目あたりに、
   function init(){
    // ページ内リンクにイベントを設定する
    setOnClickHandler();
    // 外部からページ内リンク付きで呼び出された場合
    if(incomingHash){
     if(window.attachEvent && !window.opera){
      // IEの場合はちょっと待ってからスクロール
      setTimeout(function(){scr...続きを読む

Q「菊」 の 読み「きく」 は何故音読み?

中学校の時から今までずっと疑問に思っていたことです。

菊 を 辞書で調べると 音読みとして キク と書いてあります。読みだけで意味が通じるものは 訓読みだと思っていたので、キクが音読みだと言われても腑に落ちません。中国語でも 菊は ju2 じゅー でキクと全然にていません。他の一文字の植物名は調べた範囲ですべて訓読みです。

なぜ音読みなのでしょうか。

Aベストアンサー

こんにちは。私からも少し補足します。

>読みだけで意味が通じるものは 訓読みだと思っていたので、
これは「そういうものが比較的多い」というだけのことです。
本来の音読み・訓読みの定義は,「中国での読み方が日本風になまったもの」が音読み,「中国での読み方以前に日本に存在していた固有の語彙(やまとことば)を,漢字にあてはめたもの」が訓読みですよね。
しかし,小学校の国語科などでこのような説明をしても,子どもたちは中国語の読み方は知りませんので(まして音読みの基礎になった中古音など知るはずもない),実際に,例えば「山」の音読みと訓読みは何か,と考える際には役に立ちません。
そこで,一種の便法として,「さん」だと意味がよく分からないが,「やま」だと分かる,というような教え方をするわけでしょう。
したがって,そこには「菊」のように,おのずと例外が生じます。

「門」など,音読みの「もん」は1年生でも分かるでしょうが,訓読みの「かど」は通じない子が多いのではないでしょうか。「かどで」なんて言葉を知っている1年生は少ないでしょう。かどと言われると,「角」だと思う子が多そうです。

さらに,中国語の読みも,地域により,また時代により,変化しています。
確かに今の北京音では,「菊」は「チウ」のような発音ですが,古い発音を比較的よく残している広東語(ホンコンなど)や,朝鮮語(韓国語)の発音では,kuk(クク)となり,日本語のキクに近いものがありますね。

もう1つ2つ,例をあげますと,「民」は北京語,広東語,朝鮮語,日本語いずれも「ミン」でよく似ていますが,「学」は北京語xue(シュエ)に対して,広東語hok,朝鮮語hak,日本語gakuです。
つまり,今の北京語は,日本語の漢字の音読みの元になった発音からはかなり変化しているので,一見(一聴?)して似ていないように思えても,きちんと音韻の変化などを調べると,やっぱり音読みだったという場合があるということです。

というわけで,
>なぜ音読みなのでしょうか。
という質問に対しては,「中国での音が日本風になまったものだから」と回答することになります。

「音読みには比較的○○なものが多い」のは確かだとしても,「全て」というわけではありませんので,逆にして「○○な読みは音読みだ」と決めつけることはできません。

こんにちは。私からも少し補足します。

>読みだけで意味が通じるものは 訓読みだと思っていたので、
これは「そういうものが比較的多い」というだけのことです。
本来の音読み・訓読みの定義は,「中国での読み方が日本風になまったもの」が音読み,「中国での読み方以前に日本に存在していた固有の語彙(やまとことば)を,漢字にあてはめたもの」が訓読みですよね。
しかし,小学校の国語科などでこのような説明をしても,子どもたちは中国語の読み方は知りませんので(まして音読みの基礎になった中古音...続きを読む

Qajaxを使ったページがSEOで不利にならない方法

検索エンジンは、ajaxが使われたコンテンツを動的に取得できないためSEOで不利になってしまいます。その対策についてアドバイスをいただきたいです。
http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=174992
では、ajaxが使われたページ限定でそのURLに#!を入れるか、<head>内に<meta name="fragment" content="!">を入れるだけで解決します、と書いてあります。
mein.htmlがあって、メインのコンテンツはcontents.phpにまとまっています。
contents.phpを検索エンジンによくみてもらいたいです。
urlに#!という文字を入れたくないので、後者の方を使おうと思っていますが、
mein.htmlの<head>に<meta name="fragment" content="!">を入れて、
contents.phpには入れない。↓のような感じでいいということですか?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="fragment" content="!" />←「 /をつける」
<title></title>
</head>
<body>
<p onclick="send()">コンテンツの取得</p>
<div id="ajaxcontents"></div>
<script type="text/javascript">
function send(){
xmlhttpreq = ~~~;
xmlhttpreq.onreadystatechange = function (){
if (change.readyState == 4 && change.status == 200) {
var con = xmlhttpreq.responseText;
document.getElementById("ajaxcontents").innerHTML = con;
}
};
xmlhttpreq.open("GET", "contents.php?get=", true);
xmlhttpreq.send(null);
}
</script>
</body>
</html>

検索エンジンは、ajaxが使われたコンテンツを動的に取得できないためSEOで不利になってしまいます。その対策についてアドバイスをいただきたいです。
http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=174992
では、ajaxが使われたページ限定でそのURLに#!を入れるか、<head>内に<meta name="fragment" content="!">を入れるだけで解決します、と書いてあります。
mein.htmlがあって、メインのコンテンツはcontents.phpにまとまっています。
contents.phpを検索エンジンによくみてもらいたいです...続きを読む

Aベストアンサー

・まず、JavaScriptを一切使わない状態で、全てのページにアクセスできるようなサイトを作ります。
<a href="contents.php?get=something">コンテンツ</a>

・HTMLやCSSを変更せず、JavaScriptを追加するだけでAjaxサイトに改変します。
onload=function(){
document.getElementsByTagName('a')[0].onclick=function(){ /* ajaxロード */};
}

以上です。


こうすることで、
JavaScript対応ブラウザではAjaxとして、
JavaScript未対応ブラウザ(JavaScript停止ブラウザ)は単純HTMLとして表示できるようになります。


検索ロボットはJavaScript未対応ブラウザと全く同じですから、JavaScript未対応ブラウザのためのサイトを作れば問題ありません。

Googleの解説は、その方法をナントカフラグメントなどという表現を使って説明しているだけです。
JavaScript未対応ブラウザで問題なく表示できていれば、<meta name="fragment" content="!">などというワケの分からないものを入れる必要はありませんし、
URL、アドレスに#hashを入れる必要もありません。


以下余談&私見

こういう特殊な作り方をさせるのは、Google専用サイトを作らせるための一種の囲い込みだと思います。
もちろん、Google専用SEOが施されていなければページランクを下げるような仕組みを作っているかもしれませんし、
Google基準でデファクトスタンダードを作っておいて、W3CやWHATWGに「SEOの仕方」というのを提案するつもりなのかもしれませんが。

・まず、JavaScriptを一切使わない状態で、全てのページにアクセスできるようなサイトを作ります。
<a href="contents.php?get=something">コンテンツ</a>

・HTMLやCSSを変更せず、JavaScriptを追加するだけでAjaxサイトに改変します。
onload=function(){
document.getElementsByTagName('a')[0].onclick=function(){ /* ajaxロード */};
}

以上です。


こうすることで、
JavaScript対応ブラウザではAjaxとして、
JavaScript未対応ブラウザ(JavaScript停止ブラウザ)は単純HTMLとして表示できるようになりま...続きを読む


人気Q&Aランキング

おすすめ情報