2012-04-26 6 views
1

Google Plus Oneが5秒以内に読み込めなかった場合、ページの読み込みを停止する機能が必要です。私たちの国では、HTTPSポートが電気通信部門によってブロックされることがあり、apis.google.comへのアクセス権がありません。それだけではありません、私たちは本当にHTTPSポートにアクセスする必要はありません。このような場合は、https://apis.google.com/js/plusone.jsにアクセスできないときにページの読み込みを停止する方法が必要です。これどうやってするの?外部スクリプトをロードできない場合、ページのロードを停止するにはどうすればよいですか?

+3

は、あなたがあなた自身のサーバー上の 'plusone.js'を維持することはできませんか? – Asif

+1

また、 'plusone.js'は、自分のディスクからhtmlファイルを直接開くとブラウザが処理できないようにAjaxに要求しますが、サーバにはうまく機能します。 – Asif

+0

[あなたの投稿に署名やタグラインを追加しないでください](http://stackoverflow.com/faq#signatures)。 – meagar

答えて

1

ただ、そうのように、5秒以内にプラスワンのスクリプト負荷かどうかを確認します。

var i=0, checkPlusone = setInterval(function() { 
    if (typeof gapi!='undefined') { 
     if (gapi.hasOwnProperty('plusone')) { 
      clearInterval(checkPlusone); 
      console.log('Plusone loaded'); 
     } 
    } 
    if (i>5000) { 
     clearInterval(checkPlusone); 
     console.log('Plusone not loaded'); 
     window.location = "http://www.mypage.com/no_plusone.html"; //redirect to error page 
    } 
    i=i+300; 
}, 300); 

FIDDLE

+0

asnwerに感謝しますが、私は何を望んでいません。リダイレクト?リダイレクトが発生した場合、ホームページは常にホームページにリダイレクトされます。 – HiDd3N

+0

このコードをコピーして貼り付けるだけで、どちらかといえば効果がありますか?それとも何とか変更する必要がありますか? – HiDd3N

+0

あなたの質問に「私は、Google Plus Oneが5秒で読み込めなかった場合にページの読み込みを停止する関数を必要とする」と書いています。これはそれですか?あなたは実際にページの読み込みを停止することはできませんが、代わりにエラーページにリダイレクトするか、好きなことをして、5秒以内にplusoneが読み込まれているかどうか、読み込まれていない場合は何をするかを確認してください2ユーアップです。 – adeneo

0

ファイルをajaxでロードしてタイムアウトを使用できます。

jQuery ajax docsページの "タイムアウト" のためにはCtrl + F、およびthis SO questionでの使用でそれを参照してください。

+0

あなたは私のためのコードを書くことができますか?私はajax.iの初心者です。ちょうど5秒後にページを消去したいのですが、どうすればいいですか? – HiDd3N

関連する問題