0

わかりましたので、30秒ごとに回転するWebページを作成しようとしていますが、これに必要なものはありますが、今のような配列を使用する代わりに、以下のコードを参照してください

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rotating Page</title>
<style type="text/css">
* {
    margin:0;
    padding:0;
    border:0;
}
html, body, iframe {
    height:100%;
    width:100%;
    overflow:hidden;
}    
</style>
<script type="text/javascript">
var pages = new Array(); // this will hold your pages
pages[0] = 'MY-LINK-HERE';
pages[1] = 'MY-LINK-HERE';
pages[2] = 'MY-LINK-HERE';
pages[3] = 'MY-LINK-HERE';
pages[4] = 'MY-LINK-HERE';
pages[5] = 'MY-LINK-HERE';

var time = 30; // set this to the time you want it to rotate in seconds

// do not edit
var i = 1;
function setPage()
{
    if(i == pages.length)
    {
        i = 0;  
    }
    document.getElementById('holder').setAttribute('src',pages[i]);
    i++;
}    
setInterval("setPage()",time * 1000);
// do not edit
</script>
</head>

<body>
<iframe id="holder" src="MY-SPLASH-PAGE-HERE" frameborder="0" scrolling="no"></iframe>
</body>
</html>

ページ配列のMY-LINK-HEREで、RSSリンクを使用してリンクのリストを取得し、それらをページ配列または同様のものに追加したい

私の RSS リンクはhttp://directitpros.com/cbm/wp/?feedpagesです

だから私はページ変数にテキストをロードしたいだけです

4

1 に答える 1

0

少し時間がかかりましたが、入手しました(テストして動作しています)

  • この例では、jQueryとjGFeedを使用しています。
  • jGFeedは、RSSフィードでやりたいことを何でもできるjQueryのプラグインです。
  • HTMLソースでは、プラグインのURLを取得して保存できます。

観察:

1.RSSリンクが正しく機能していません。確認してください。(http://directitpros.com/cbm/wp/?feedpages

リンクを使用すると、ブラウザコンソールで使用しているプラ​​グインから次のエラーが発生します。

"Uncaught TypeError: Cannot read property 'feed' of null"

2.iframeで使用するリンクがiframeで閲覧できることを確認します。

例:

URLがiframeで参照できない場合は、ブラウザコンソールに次のメッセージが表示され、iframeは空になります。

"Refused to display document because display forbidden by X-Frame-Options."

3.有効なRSSURLとそこからのリンクが上記の要件に適合していることがわかった場合は、私がテストした次のライブ例を使用してください。

http://jsfiddle.net/oscarj24/qWdqc/

(ブラウザコンソールを確認し、表示されるメッセージを確認してください)


コードを使ってみましょう:-)

HTML:

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
<script src="http://dl.dropbox.com/u/15208254/stackoverflow/jquery.jgfeed.js" type="text/javascript"></script>
<iframe id="holder" src="" frameborder="0" scrolling="no"></iframe>​

CSS:

html, body, iframe {
    height:100%;
    width:100%;
    overflow:hidden;
}​

JS:

// Array containing pages
var pages = new Array();

// Time in seconds to rotate pages
var time = 30;

// Variable for loop purpose
var i = 1;

$(function(){

    $.jGFeed('http://working-rss-url',
      function(feeds){

        // Check for feeds
        if(!feeds){
          // There was an error, remote url not ok or no feeds
          return false;
        }

        // Do whatever you want with feeds here
        for(var i=0; i<feeds.entries.length; i++){
          var entry = feeds.entries[i];
          // Fill array with RSS entries
          pages.push(entry);
        }

        // If array contains urls
        if(pages.length != 0){
            // Rotate pages every 'x' seconds
            setInterval(function() {
                if(i == pages.length){
                   i = 0;  
                }
                // Replace iframe scr with RSS entry link every 'x' seconds
                $('#holder').attr('src', pages[i].link);
                i++;
            }, time * 1000);
        }

    }, 5); // Number of feeds you want to recover

});

お役に立てれば。

于 2012-05-21T03:11:15.700 に答える