2017-01-23 69 views
1

我下面這個http://www.w3schools.com/howto/howto_html_include.asp 包括HTML腳本不工作的附帶的HTML

因此,有一個html文件,即sidebar.html包含在不同的HTML文件。

我想保持這樣的以下共享代碼sidebar.html

<a id="fbshare" href="" target="_blank"> 
    <img src="https://example1.com/facebook.png" alt="Facebook" /> 
</a> 

但因爲有200多頁,所以我想按照該HTML頁面的URL把HREF。

所以我在我main.js

jQuery(document).ready(function() { 
var share_url = document.URL;  

document.getElementById("fbshare").href = 'http://www.facebook.com/sharer.php?u=' + share_url; 
}); 

使用這個腳本,這是我的html頁面

<!DOCTYPE html> 
<head> 
</head> 
<body> 
    <header w3-include-html="header.html"></header> 

    <main> 

     <div id="main-slider" class="carousel slide carousel-fade" data-ride="carousel"> 
      <div class="container">     
        <aside class="col-md-3 col-sm-4" w3-include-html="sidebar.html"></aside> 

       </div> 
      </div> 

    </main> 
    <footer w3-include-html="footer.html"></footer> 


    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript" src="js/bootstrap.js"></script> 
    <script type="text/javascript" src="js/owl.carousel.js"></script> 
    <script type="text/javascript" src="js/w3data.js"></script> 



    <script> 
     w3IncludeHTML(); 
    </script> 
    <script type="text/javascript" src="js/main.js" defer></script> 
</body> 
</html> 

一個代碼,但寫的href的腳本不能正常工作。 。

我堅持這個。請幫助

+0

你可以很容易地做到與jQuery的包括通過使用['.load()'](http://api.jquery.com/load/)函數。不需要包含任何'w3data.js'文件。 – War10ck

+0

雅將是最好的選擇..但它不會工作,如果我通過w3data.js – user7459842

+0

@ user7459842友好的意見,忘記w3data.js ... –

回答

1

使用window.location.href通用電氣當前頁面的URL是你在。然後,您可以將href屬性設置爲您的元素。

試試這個:

jQuery(document).ready(function() { 
var share_url = window.location.href;  

document.getElementById("fbshare").setAttribute('href','http://www.facebook.com/sharer.php?u=' + share_url); 
}); 

編輯:

檢查出您使用的是W3庫後,它似乎是非常有限的,你應該考慮不使用它。它不提供任何加載內容時運行回調的功能。因此,在處理main.js時,可能尚未加載元素a。但是,由於您使用的是jQuery,因此您可以使用.load函數。因此:

$("header").load("header.html", function() { 
    $(this).find('a').attr('href', 'http://www.facebook.com/sharer.php?u='+window.location.href); 
}); 

和當然,除去包括從header指令(從別人的歡迎,並使用負載函數加載它們都需要)

+0

如果你'只在一個地方使用'share_url',擺脫變量和內聯'window.location.href' ... – War10ck

+0

@Adam Wolski感謝您的快速答覆..我試過了,但我得到這個錯誤未捕獲TypeError :無法讀取屬性'setAttribute'爲空 – user7459842

+0

看來頭還沒有加載到DOM中。 –