Поскольку отдельные файлы в представлении папок отображаются в элементе привязки, когда вы щелкаете по ним, вы переходите на страницу, установленную в атрибуте href
. Вы можете предотвратить поведение якорных элементов по умолчанию, используя метод preventDefault , как показано ниже. Кроме того, в элементах привязки нет атрибута src
, href
- это атрибут, используемый для установки URL:
$("#ai_dropdown li>iframe>a").on('click', function(e) {
e.preventDefault();
var option = $(this).attr('href');
$('#iframe').attr('src', option);
});
EDIT
Поскольку iframe необходимо загрузить перед выбором элементы, и вы не можете получить доступ к его элементу с помощью селектора выше, как объяснено здесь , я использовал методы contents и find для решения этой проблемы и использовал приведенный ниже код :
window.onload = function () {
$("#iframe-folder-list").contents().find('a').click(function (e) {
//Doesn't trigger
console.log(e)
e.preventDefault();
var option = $(this).attr('href');
$('#iframe').attr('src', option);
});
}
Но все равно не работает. Код внутри функции события click
не запускается, и консоль показывает эту ошибку:
Uncaught (в обещании) DOMException: запрос предварительной загрузки навигации сервис-воркера был отменен до урегулирования preloadResponse. Если вы собираетесь использовать preloadResponse, используйте waitUntil () или responseWith (), чтобы дождаться выполнения обещания.
Вдобавок к этому я увидел 2 блока div, которые используются в качестве ссылок с классами flip-entry-thumb
и flip-entry-title
, но отсутствует (видимый) код сценария, в котором происходит процесс преобразования этих div в ссылки (например, с событием onlcik). Итак, моя теория заключается в том, что Google каким-то образом делает этот процесс, не имея возможности изменить его или ограничить iframe модификациями.