Разбирать URL из функции для fancybox? - PullRequest
2 голосов
/ 10 февраля 2012

Я управляю веб-сайтом электронной коммерции, где определена следующая функция.Я не контролирую шаблон, где эта функция вызывается.Используется для открытия небольшого контактного окна.URL меняется от сеанса к сеансу.Мне нужно как-то разобрать этот URL из функции и сохранить в переменной, чтобы вызвать его из fancybox, используя простой шаблон HTML / CSS, которым я управляю.Ты знаешь, как я мог это сделать?Вот функция:

function OpenContactWindow() {
    window.open('/UI/ContactInfo.aspx?id=R6nq0s8aTFntDzsV-p-pXm22kKpENjtYjAsgwTtIa5Qhhf5CT4Ndx7Rg-e-e', '', 'fullscreen=no,toolbar=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,directories=no,location=no,width=800,height=600');
    return false;
}

В шаблоне, которым я управляю, у меня есть ссылка, где функция вызывается и она открывается в простом всплывающем окне:

<a href="javascript:void(OpenContactWindow());">Contact Us</a>

Это код, который я придумал, но он не работает:

$(document).ready(function(){
$(".extLink").fancybox({
     'width' : '75%',
     'height' : '75%',
     'autoScale' : false,
     'transitionIn' : 'none',
     'transitionOut' : 'none',
     'type' : 'iframe'
 });

 }); 
});


<a class="extLink" href="javascript:void(OpenContactWindow());">Contact Us</a>

Какой код я должен использовать?Я новичок!=)

1 Ответ

3 голосов
/ 10 февраля 2012

Я ничего не знаю о FancyBox, но вот способ разобрать URL из функции:

var contactURL=OpenContactWindow.toString();
var contactURL=contactURL.split('window.open("')[1];
var contactURL=contactURL.split('",')[0];
//contactURL now contains the URL to the contact form

По сути, вы просто конвертируете функцию в строку с помощью .toString (),затем используйте пару split (), чтобы найти URL.Вы заметите, что хотя window.open () в функции OpenContactWindow использует одинарные кавычки, здесь используются двойные кавычки.JavaScript автоматически заменяет одинарные кавычки на двойные.Как уже отмечалось, переменная contactURL содержит URL-адрес из функции OpenContactWindow.Вы должны быть в состоянии взять его оттуда и использовать FancyBox, если это необходимо.

Вы можете найти демо здесь .Просто нажмите кнопку Получить URL, и он покажет вам URL.Проверьте источник, и вы увидите, что он действительно проверяет функцию.Функция использует случайную строку для идентификатора, которая генерируется PHP при каждой перезагрузке страницы.После нажатия кнопки и отображения URL-адреса страница перезагружается, чтобы вы могли снова увидеть ее в работе с вновь созданным идентификатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...