target=»_blank» запрашивает мобильные устройства и phonegap

#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")