gpt4 book ai didi

javascript - element.tagname 不会在链接上返回

转载 作者:行者123 更新时间:2023-12-02 19:38:46 26 4
gpt4 key购买 nike

我正在编写一个 iPhone 应用程序,它使用一点 JavaScript 代码来获取 UIWebView 上某个点的元素。

我有一点 iPhone 经验,但没有 javascript 经验,我在教程上找到了代码 ( here )

// Javascript code
function MyAppGetHTMLElementsAtPoint(x,y) {
var tags = ",";
var e = document.elementFromPoint(x,y);
while (e) {
if (e.tagName) {
tags += e.tagName + ',';
}
e = e.parentNode;
}
return tags;
}

// iPhone code
NSString *tags = [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"MyAppGetHTMLElementsAtPoint(x,y);"]]
if ([tags rangeOfString:@",A,"].location != NSNotFound) {
NSLog(@"Link found");
....
}

问题是我已经使用 Google 搜索网页等测试了此代码,但没有收到“找到链接”日志。

我认为这可能是因为页面不是完整的 HTML,但我无能为力。

谢谢!!

PD:我有同样的问题,但不是在所有页面上,带有 IMG 标签(可能是因为 CSS)

最佳答案

某些 XHTML 模式会在您将其放入源代码时返回 tagName,因此它可能会小写。尝试调用

tags += e.tagName.toUpperCase() + ',';

如果这不是问题,那么 tags 字符串包含什么?

完全不相关的建议

数组是创建逗号分隔列表的最佳方式

function MyAppGetHTMLElementsAtPoint(x,y) {
var tags = [];
var e = document.elementFromPoint(x,y);
while (e) {
if (e.tagName) {
tags.push(e.tagName);
}
e = e.parentNode;
}
return tags.join(',');
}

我提供了一个 JSFiddle http://jsfiddle.net/cgpVk/1/证明该功能运行良好。您可能没有传递正确的坐标

关于javascript - element.tagname 不会在链接上返回 <a>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10659071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com