I'm working on a web application, and I am using the JQuery UI Tabs plugin to separate the data.
If I mouse over each one of the tabs, on the lower left of the screen I can see the URL of that tab (ex: testPage.com/#tab1 or testPage.com/#tab2)
Now, if I type in one of those addresses into the URL bar, I do not go to the tab related to the hash in the URL, but instead I go to the first tab in the application.
My question is: How would I go about anchoring a specific tab to a URL?
So if someone goes to testPage.com/#tab3, They will end up in tab 3 on the application.
I am doing this also because I want to use the JQuery BBQ plugin to modify the browser history, so I can have a user go to the last tab they were on when they hit the back button.
Example:
http://benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs/
Let's get started with jquery open link in new tab on button click. I created two way to open link in new tab in jquery. first one is a using window.open () and another is 'target="_blank"' on anchor tag. so i added both example bellow you have to just check that you can see how it will helps us.
Another plausible way to open a referenced resource in a new tab is to dynamically create an anchor tag with the href attribute set to the resource URL and the target attribute set to _blank for making it open in a new tab. After the object is created, don’t attach it to any DOM objects but trigger a click on it using JavaScript’s click () method.
Although the tab-capable browsers prefer opening new tabs to opening new windows, you can explicitly force this behavior by passing the _blank target to the open () method. Note that some browsers like Google Chrome will automatically block pop-ups from showing up on your screen.
I ended up using the JQuery Address plugin from Asual. I did the following:
// For forward and back
$.address.change(function(event){
$("#main_tabs").tabs( "select" , window.location.hash );
});
// when the tab is selected update the url with the hash
$("#main_tabs").bind("tabsselect", function(event, ui) {
window.location.hash = ui.tab.hash;
});
Hopefully this helps someone! Thank you.
You can also try in the following way. I have name
property in the anchor element. This name will be added as hash URL.
Javascript:
$( "#tabs" ).tabs({
select: function(event, ui) {
window.location.hash = ui.tab.hash;
}
});
HTML:
<div id="tabs" >
<ul>
<li><a name="Test1" href="Home/Test1"> Tab 1 </a></li>
<li><a name="Test2" href="Home/Test2"> Tab 2 </a></li>
<li><a name="Test3" href="Home/Test3"> Tab 3 </a></li>
</ul>
</div>
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