2014-11-10 2 views
0

На моей странице «Информация» я использую Jquery для динамической загрузки содержимого.Как вызвать щелчок по недавно открытому окну/вкладке?

Я использую этот вид, если ссылка:

<a href="#" onClick="InfoSection('0303')"> 

Чтобы сделать правильный Див груз:

$(".info-main").css({display: "none"}); 
$("#info-main-"+active).fadeIn(600); 

Это прекрасно работает

Теперь я хотел бы, чтобы вызвать щелчок по этой ссылке когда я открываю страницу «info» с другой страницы в новом окне/вкладке, чтобы загрузился правильный контент. Как я могу это сделать?

Большое спасибо за помощь.

+0

Какой формат URL-адреса вы планируете использовать для этой функции? быть вызванным? – George

+0

Возможный дубликат [Открыть URL-адрес в новой вкладке с помощью JavaScript] (http: // stackoverflow.com/questions/4907843/open-a-url-in-a-new-tab-using-javascript) – Tanner

ответ

0

Вы можете попробовать:

HTML:

<a id="test" href="#" onClick="InfoSection('0303')"> 

JS:

$('#teste').trigger('click'); 

или

$(a).trigger('click'); 
+0

Спасибо, что ответили. Ну, это решение работает, если я уже на целевой странице (в моем примере - на странице «info». Но я хотел бы открыть информационную страницу с другой страницы с помощью href или window.open и заставить ее имитировать щелчок –

+0

Что вы используете для загрузки другой страницы? Ajax? – vcrzy

0

Пожалуйста, ознакомьтесь неоптимизированная код и попробовать его на месте (!) (сохранить как test.html и info.html и открыть в браузер, как test.html и test.html # Информация и info.html и info.html # Информация, чтобы увидеть эффекты):

JS часть (в том числе JQuery в голове/теле ...)

$(window).load(function(){ 
function page_url_contains_info(){ 
    console.log(window.location.href.indexOf("info") > -1); 
    return(window.location.href.indexOf("info") > -1); 
} 

function InfoSection(a){ 
    $(".info-main").css({display: "none"}); 
     $("#info-main-"+active).fadeIn(600); 
     $("#info").fadeIn(600); 
} 


if(page_url_contains_info()){ 
    InfoSection(2); 
} 


$('#info-link').click(function(e){ 
    e.preventDefault(); 
    var hash_orig = document.location.hash; 
    var hash = hash_orig.replace('#', ''); 
    console.log(hash); 
    if(hash === "info" || page_url_contains_info){ 
     InfoSection(2); 
    } 
}); 

var active = "dummy"; 

$(window).bind('hashchange', function() { 
    var hash_orig = window.location.hash; 
    var hash = hash_orig.replace('#', ''); 
    if(hash === "info" || page_url_contains_info){ 
     InfoSection(1); 
    } 
}); 
});//]]> 

HTML часть:

<a href="#info" id="info-link">Test</a> 

<div class="info-main">".info-main"</div> 

<div id="info-main-dummy">"info-main-dummy"</div> 

<div id="info" style="display:none;">This is shown if url is in page url or is a hash or if we click on "#info"</div> 

А вот скрипка (не работает в связи с ограничениями JSfiddle - вы должны использовать код локально или на сервере): http://jsfiddle.net/mm0yxqpt/

Я думаю, вы сможете увидеть, что делают разные части JS, и решить, какой из них вы будете использовать (и оптимизируйте в соответствии с вашими потребностями :)

+0

Итак, если я правильно понимаю, я могу использовать ссылку на исходной странице, подобную этой ... –

0

Так что я сделал то, что предложил vcrzy и nettutvikler.

На странице происхождения я просто добавил привязку к ссылке href.

На целевой странице я включил функцию, которая вызывает щелчок и активируются на основе хэша:.

if (window.location.hash) { 
    $('#deltf')[0].click(); 

(по какой-то причине

$('#deltf').trigger('click'); 

не работает

Огромное спасибо, ребята!

+0

Я обновил ответ - просмотрите (http://stackoverflow.com/a/26848082/3365805) :) – nettutvikler

Смежные вопросы