簡體   English   中英

如何使用iframe而不是ajax重新加載部分網頁?

[英]How to reload part of a web page using iframe instead of ajax?

我不想使用ajax這樣做的原因是因為我要刷新的部分實際上是由其他人實現的注釋插件。 我只是在他的html代碼中放了一段他們提供的腳本,它在我的文章下面顯示了一個評論部分。 由於它不是實時評論,我想在它旁邊添加一個刷新按鈕,使用戶只需刷新評論部分即可獲得最新評論,而無需重新加載整個頁面。

因此,我認為iframe可能是我的選擇。 但問題是我需要指定iframe的src屬性。 我不知道我應該使用什么價值,因為我所擁有的僅僅是一段腳本。 有人能給我任何想法嗎?

順便說一句,代碼片段如下:

<div id="uyan_frame"></div>
<script type="text/javascript" id="UYScript" src="http://v1.uyan.cc/js/iframe.js?UYUserId=1674366" async=""></script>

只需使用您在里面討論的腳本創建一個html頁面,並在iframe src屬性中使用此文件。

您可以將上面的代碼段放在像這樣的html文件中

<!DOCTYPE html>
<html>
    <body>
         <div id="uyan_frame"></div>
         <script type="text/javascript" id="UYScript" src="http://v1.uyan.cc/js/iframe.js?UYUserId=1674366" async=""></script>
    </body>
</html>

然后使用該文件作為iFrame的src,您可以使用javascript刷新它。

也就是說,僅僅因為你可以做某事並不意味着你應該做點什么。 這是一種真正的hacky方式來做你想做的事情。 一些替代選擇:

  1. 了解您正在使用的腳本正在做什么,並使用它。 根據代碼段中腳本和div的名稱來判斷,它可能會創建一個iframe。 如果是這樣,為什么不弄清楚使用瀏覽器調用它並手動刷新iFrame是什么,或者修改腳本來執行此操作?

  2. 使用實時更新框架 - 這對您來說可能是不可能的,我不知道您的約束,但是有很多很棒的評論框架可以進行實時更新。 例如,想到了Disqus 其他示例是Facebook評論,或者您可以嵌入對分支等外部網站的引用

  3. 使用Ajax - 我有點不清楚這是你正在編寫的腳本還是第三方腳本。 如果它是你的腳本,那么使用普遍接受的方法來完成這類工作,除非你有一個非常好的理由。 您將獲得其他人更好的支持,您將獲得更普遍適用的經驗,並且在大多數情況下,最佳實踐獲得該名稱是有原因的。 人們使用“ajax”方法進行實時更新頁面,因為它有效且有用。 框架在網絡上變得越來越不常見,因為它們很笨拙並且使頁面的不同部分難以交互。 如果你沒有充分的理由不使用常規練習,通常是你最好的選擇。

你可以這樣做:

var iframe = document.getElementById('your_frame_id');
iframe.src = iframe.src;

再次將iframe src設置為其值,這將導致幀刷新,並將與跨域幀一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM