亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 WKWebView 中注入 javascript 以獲取單擊圖像的 src 屬性

在 WKWebView 中注入 javascript 以獲取單擊圖像的 src 屬性

哈士奇WWW 2021-10-21 14:55:30
我想在 webkitview 中注入一個 javascript 代碼,當用戶點擊它時獲取被點擊圖像的 src 屬性。我還發現有些圖像沒有將它們的 src 屬性直接放在 img balise 中,但它是由 balise 中的一個類注入的。我發現這個腳本可以在 webview 中獲取點擊的 Html 元素:  document.addEventListener("click", function(evt) {        var tagClicked = document.elementFromPoint(evt.pageX - window.pageXOffset, evt.pageY - window.pageYOffset);        window.webkit.messageHandlers.jsMessenger.postMessage(tagClicked.outerHTML.toString());        });類注入的 src 屬性示例: <img alt="Chaussure de football enfant terrains secs Agility 900 FG JR grise et bleue" class="source-medium">在這種情況下,如果返回的字符串是圖像,我可以從返回的字符串中獲取 src 屬性,但是如果 src 屬性是由 img balise 中的類注入的,則我無法從返回的字符串中獲取它。任何人都可以幫忙嗎?謝謝。
查看完整描述

1 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

你會很高興知道它比這簡單得多,因為事件對象有一個屬性,稱為target被點擊的元素。由于您對img元素感興趣,我們不必擔心它是您想要的元素的子元素,因此我們可以直接使用evt.target。


為了更容易,HTMLImageElement對象有一個src屬性,它提供圖像的完整、解析的 URL,所以:


document.addEventListener("click", function(evt) {

    if (evt.target.tagName === "IMG") {

        window.webkit.messageHandlers.jsMessenger.postMessage(evt.target.src);

    }

});

但如果你真的想要outerHTML:


document.addEventListener("click", function(evt) {

    if (evt.target.tagName === "IMG") {

        window.webkit.messageHandlers.jsMessenger.postMessage(evt.target.outerHTML);

    }

});

假設這是一個 HTML 頁面,您可以依賴tagName所有大寫的存在(即使它不在解析頁面的 HTML 中)。


查看完整回答
反對 回復 2021-10-21
  • 1 回答
  • 0 關注
  • 328 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號