I have an application which has almost 30 html's and they share some common code to which i f i made any changes i need to change it on every page. Below is the piece of code which i am using on all pages.
<div>
<ul>
<li class="current"><a href=".html" ></a></li>
<li><a href=".html"></a></li>
<li><a href=".html"></a></li>
<li><a href=".html"></a></li>
</ul>
</div>
Is there any solution to which i can keep it on a single file and reuse it where ever i want?
You can store one or more of your JavaScript scripts in a single . js file and access them from multiple HTML pages. Put the script in an external JavaScript file. If you have the script already inside your HTML page, remove all the JavaScript code inside the <script> tag and paste it into a separate file.
Yes, they're both JavaScript, you can use whichever functions are appropriate for the situation. Save this answer. Show activity on this post. That kind of lower-level hacking around the DOM, messing with the inline handlers, and cross-browser quirks thereof, is precisely the reason jQuery was born.
Projects In JavaScript & JQueryYes, you can use multiple versions of jQuery on the same page. To avoid any kind of conflict, use the jQuery.
JavaScript can be used in combination with HTML to power modern web applications that are intuitive, interactive and user-friendly. By using simple client-side validation, it reduces server traffic and improves the overall efficiency of the website.
There are several ways you can achieve this inclusion to keep your code more maintainable.
Of course the first that comes to mind is if you want to use PHP is the usage of include()
which includes and evaluates the code in your external file or script.
You can use it as such:
<?php include('path/to/file.html'); ?>
Note! Be careful: your container file must be a .php
file in order for this directive to be evaluated from the server. You don't need to do anything but changing the file extension, for that to happen. And, of course, make sure that your server can parse PHP.
Also, beware of the difference with include_once()
, which I would not recommend in this case.
If you don't want to use PHP, you can do that very simple and clean with a Server side include[Wikipedia]. An SSI looks like an HTML comment:
<!--#include virtual="your.html" -->
Note! You will have to make sure to have mod_include
installed and enabled in your Apache server, and to add the following directive either in your httpd.conf
or .htaccess
file:
Options +Includes
Read the doc link above for more information.
Your question actually specifies to do this in JS or jQuery. Not sure if it does because you were not aware of the server-side options, or if you really wanted a client-side one. In any case, there are also some client-side solutions.
Given the possibility, I would recommend the server-side solutions to your problem.
The <iframe>
element includes content from an external file in a separate area in your page. You can use it like so:
<iframe src="your.html" width="x" height="y"><p>Fallback text</p></iframe>
The <object>
element does a similar thing to the <iframe>
, but while the latter is designed more as a means to sandbox an application, the former feels more integrated in your page. The usage is as follows:
<object type="text/html" data="your.html"></object>
Convert the code into a Javascript file and instruct the file to insert the content into the DOM. Here is an example
external.js
var element = '<div>
<ul>
<li class="current"><a href=".html" ></a></li>
<li><a href=".html"></a></li>
<li><a href=".html"></a></li>
<li><a href=".html"></a></li>
</ul>
</div>';
container.html
<script type="text/javascript" src="external.js"></script>
<script>
document.getElementById('#containing-element').innerHTML(element);
</script>
jQuery can help you deal with some AJAX calls easily. You could use jQuery.get()
or jQuery.load()
. I would suggest you use the latter, as load()
injects the loaded element directly into the DOM, and also as you can specify exactly which part to load, which is nifty especially if you would like to store all your includes in one external HTML file.
jQuery(document).ready(function ($){
$('#containing-element').load('your.html');
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With