Я занимаюсь разработкой для Mac в WebView.Я хочу расширить URL-адреса, которые были сокращены с помощью средства сокращения URL-адресов, и отобразить этот расширенный URL-адрес для пользователя.Итак, учитывая ссылку, атрибут src которой установлен на http://is.gd/xizMsr,, когда пользователь наводит курсор на ссылку, я хочу, чтобы всплывающая подсказка заголовка отображалась http://google.com
Мой тег ссылки выглядит следующим образом:
<a href="http://is.gd/xizMsr" onMouseOver="myFunction(this);">Here's a shortened link to google</a>
А вот соответствующий javascript, который будет использовать XMLHttpRequest для получения расширенного URL-адреса, а затем обновит заголовок
var myRequest;
var mousedOverElement;
var isLoading = false;
function myFunction(anObject) {
if (isLoading == false) {
isLoading = true;
mousedOverElement = anObject;
var link = anObject.getAttribute('href');
var encodedURL = encodeURI(link);
var url = 'http://is.gd/forward.php?format=simple&shorturl=' + encodedURL;
myRequest = new XMLHttpRequest();
myRequest.open("GET", url);
myRequest.onreadystatechange = onStateChange;
myRequest.send();
}
}
function onStateChange() {
if (myRequest.readyState==4) {
if (myRequest.status==200) {
mousedOverElement.setAttribute('title',myRequest.responseText);
}
isLoading = false;
}
}
Проблема заключается в том, что когда я наведите курсор мыши на ссылку, а затем перестанете двигатьсякурсор, атрибут заголовка установлен правильно, но подсказка не отображается.Я должен снова переместить мышь, чтобы всплывающая подсказка появилась.Мне не обязательно перемещать курсор от ссылки, а затем обратно по ней, но простое перемещение нескольких пикселей, оставаясь над ссылкой, поможет.
Я знаю, что заголовокустановить правильно из комбинации с использованием веб-инспектора и отладчика Javascript в Safari.Фактически, как только я наведу курсор на ссылку, я вижу, что представление DOM в Web Inspector на вкладке «elements» обновляется новым заголовком.Но если я уберу руку с мыши, всплывающая подсказка никогда не отобразится.
Здесь я предполагаю, что WebKit показывает всплывающую подсказку только тогда, когда пользователь перемещает мышь.Есть ли способ сортировки "пробуждения" webkit, даже если курсор не движется?Или мне лучше реализовать это с помощью моей собственной магии DHTML, а не полагаться на атрибут title?