簡體   English   中英

使用網址從另一個頁面的div內加載內容

[英]Load content inside div from another page with a url

我目前在頁面上具有用於不同內容的Jquery選項卡,但這對SEO並沒有幫助,因為google和其他地方不會選擇此內容。

我正在尋找“標簽”,但是當您單擊鏈接時,它會加載該信息。

例如: http://www.gamespot.com/watch-dogs

您單擊“選項卡”上的評論,它將加載該內容以及http://www.gamespot.com/watch-dogs/reviews/

我正在尋找復制這樣的東西,而不是使用Jquery選項卡。

您的幫助將是巨大的!

如果您希望搜索引擎提取內容,則必須使用原始HTML。 他們不會運行用於更新客戶端上DOM的腳本。 因此,您需要在PHP中執行此操作:

<div>
<?php readfile("url"); ?>
</div>

但是,如果URL用於完整的網頁,則可能不是一個好主意。 它將具有自己的<html><head><body>標記,並且這些標記應僅在頁面上出現一次,而不是嵌入在另一個頁面中。

試試jQuery的load函數:

$( "#element to put data in" ).load( "address", function() {
  alert( "Load was performed." );
  //what to do when done loading page
});
<div id="myContent"></div>

加載方式:

$("#myContent").load("url to your content which you want to load", function(){
    // things which you want to do with.
});

為了使搜索引擎(可能不會執行JQuery)和用戶(可能喜歡動態元素)都感到滿意,您可以采取兩種解決方案。 您可能具有一個鏈接,單擊該鏈接將轉到一個全新的HTML頁面。 搜索引擎將點擊此鏈接,並看到一個完整的單獨頁面。 然后,您的頁面中(或鏈接的click事件中)可能會有一個javascript,該javascript攔截並覆蓋原始鏈接的目標,而是執行諸如JQuery的$()。load()之類的東西。 要重用內容,您可以使目標頁面既可以使用包裝器也可以使用包裝器來加載。

目標文件:

<?php if(!isset($_GET['skipWrapper'])) { include('header.php'); } ?>
Here's the content that matters!
<?php if(!isset($_GET['skipWrapper'])) { include('footer.php'); } ?>

源文件:

<?php if(!isset($_GET['skipWrapper'])) { include('header.php'); } ?>
Here's the orginal content!
<a href="TargeFile.php" onclick="asyncLoad('TargeFile.php'); return false;">
<?php if(!isset($_GET['skipWrapper'])) { include('footer.php'); } ?>

asyncLoad的定義:

function asyncLoad(url) { $('#targetElementId').load(url + '?skipWrapper=true'); }

但是,最好只堅持使用傳統鏈接,而不要使用異步選項卡。 當后退按鈕不起作用或常見行為(例如在新瀏覽器選項卡中單擊鼠標中鍵以打開鏈接)不再起作用時,用戶會感到困惑。

暫無
暫無

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

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