使用JavaScript强制刷新RSS订阅

3
我完全不了解JavaScript,想在网页中展示和更新RSS源。我已经成功将其显示在页面上,但在刷新源方面遇到了问题。
我尝试了这个论坛中的建议,使用setinterval和settimeout与head.appendChild一起使用,但没有效果。它们不能刷新页面。
我还尝试了“location.reload”函数,它可以刷新页面,但刷新后显示空白页面。HTML中的元数据刷新也是如此。
如果有人能够提供解决方案,我会非常感激。我最新的代码如下,可以在页面上显示源,但无法刷新。
编辑:我还需要补充说明,我展示结果的页面位于PowerBI仪表板(Web内容磁贴)中。它类似于w3schools试用窗口。我无法在其中任何一个中刷新结果。
谢谢,
   <!doctype html>
   <html>
   <head>

   </head>

   <body>


   <script type = "text/JavaScript">
    

     function load_js()
     {
        var versionUpdate = (new Date()).getTime(); 
        var head= document.getElementsByTagName('head')[0];
        var script= document.createElement('script');
        script.type = "text/javascript";
        script.src= '//rss.bloople.net/?url=http%3A%2F%2Frss.cnn.com%2Frss%2Fcnn_latest.rss&detail=-1&limit=10&showtitle=false&type=js'+ 
     versionUpdate;
        head.appendChild(script);
        script.remove;
     }
     load_js();

    setInterval(function(){ 
    
      load_js();
    
   }, 3000);


   </script>

   </body>
   </html>

顺便提一下,我注意到如果我将“function load_js()”放在一个单独的<script>块中,新页面会在3秒后附加到页面底部。但是,在新页面附加之前,我仍然找不到清除初始页面的方法。 - Ahmet Seker
1个回答

0

由于您在每次迭代中都创建了<script>标签,因此无法更新源。

请考虑记住要更新的<script>标签;

<!DOCTYPE html>
<html>
    <head>
        <title>Page Title</title>
    </head>
    <body>

        <script type = "text/JavaScript">

            this.tag = document.createElement('script');

            function load_js() {

                console.log('load_js()');

                var versionUpdate = (new Date()).getTime(); 
                var head= document.getElementsByTagName('head')[0];

                this.tag.type = "text/javascript";
                this.tag.src= '//rss.bloople.net/?url=http%3A%2F%2Frss.cnn.com%2Frss%2Fcnn_latest.rss&detail=-1&limit=10&showtitle=false&type=js'+ versionUpdate;
                
                head.appendChild(this.tag);
                this.tag.remove;
            }
            
            load_js();

            setInterval(function(){ 
                load_js();
            }, 3000);
        </script>
    </body>
</html>

我已在w3schools试用版的Windows上测试过这个,每次迭代versionUpdate都会更新。

JsBIN演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接