#jquery #iphone #jquery-mobile #cordova
#jquery #iPhone #jquery-мобильный #кордова
Вопрос:
Я создал небольшое приложение, которое извлекает информацию из блога через ajax в приложение, позволяя пользователю просматривать список заголовков, а затем переходить к основным деталям на динамически создаваемой странице.
Все работает отлично, но на одной странице в ленте есть ссылка с target =»_blank» на ней. Когда страница динамически создается на iPhone или симуляторе, она открывает ссылку с помощью safari, при этом ничего не нажимается.
Я предполагаю, что мне нужно изменить ссылку, удалив ‘target = _blank»‘ и заменив на ‘rel =»external»‘, но как это сделать, оказывается немного сложнее.
Я попробовал с:
var text = $(this).find('description').text().replace(/(http[s]?://[a-zA-Z0-9.-_/?%#amp;=] )/g, "<a class='atag' href='$amp;'>$amp;</a>");
Это действительно находит ссылку, но заменяет все, а не просто удаляет цель, что было бы не так уж плохо, но ссылка a href переносит изображение, а не текст, поэтому переформатирование таким образом не сработает.
Любая помощь более чем приветствуется.
*ОБНОВЛЕНИЕ После небольшого углубления выясняется, что на самом деле это iframe, который находится внутри содержимого блога и открывается в новом окне. Похоже, мне нужно удалить <iframe
… не является целевым атрибутом.
Ответ №1:
Я думаю, что это должно помочь удалить цель и заменить ее на rel =»external»:
$('a[target="_blank"]').removeAttr("target").attr("rel", "external")