Safari 原生代码

2024-01-04

有人熟悉 OS X Safari(版本 3 和 WebKit)中的本机代码吗?我正在使用 Javascript 来解析表单中的一些信息,我的输入之一名为“标签”。当尝试使用以下方法获取该元素的值时:

// button is being passed through a function as a DOM object
var tags = button.form.elements["tags"].value;

Safari 返回某种函数。我已经让它提醒诸如“function Tags() { [native code] }”和节点树之类的值,但我只是不明白为什么我会遇到麻烦。如果有人有线索,请告诉我。我已经通过将输入的名称更改为其他名称以及迭代所有元素并使用 if () 语句来确定它是否是我想要的元素来使其工作,但我非常好奇为什么 Apple 会这样做限制使用任何名为“标签”的表单元素...

附: - 经过测试,在 Firefox 中运行良好。


[native code]只是意味着它是浏览器内置的函数,而不是用 JavaScript 编写的。tags 似乎 http://trac.webkit.org/browser/trunk/WebCore/html/HTMLCollection.cpp#L453DOM 的 WebKit 扩展,允许您通过标签名称获取表单中的元素列表。例如,如果我在 StackOverflow 页面上运行此命令,我会得到答案文本区域:

document.getElementById('submit-button').form.elements.tags("textarea")[0]

问题是 JavaScript 中集合的索引也会访问任何对象属性(包括方法),因此当您尝试访问命名元素时tags,你会得到上面的方法elementsWebKit 定义的对象。幸运的是,有一个解决方法;你可以打电话namedItem http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-21069976在元素列表上获取项目id or name:

var tags = button.form.elements.namedItem("tags").value;

edit:请注意,使用它可能更好namedItem一般来说,即使在其他浏览器中,如果您需要检索名为的元素item or length或类似的东西;否则,如果您将它们用作索引[]运算符,您将获得内置方法item or length而不是你的元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Safari 原生代码 的相关文章

  • 使用 parsley.js 支持每个字段多个自定义错误消息

    我正在尝试使用 parsley js 验证一个简单的表单 并且我对 parsley js 非常初学者 我想使用 window ParsleyValidator addValidator 方法在一个自定义验证方法中显示多个错误消息 所以我尝试
  • 如果替换路径中的最后一个元素,React Router v6 useNavigate() 不会导航

    我有一个具有以下功能的反应组件 const handleNavigate clientId gt console log clientId navigate dashboard clients clientId console log 显示
  • 具有两组子组件的 React 组件

    我正在创建一个组件 需要接收两组子组件并放置在组件的两个不同部分中 let CreditCardForm icons fields gt div div div div icons div div div fields div let Cr
  • Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

    我试图通过发布请求将文件发送到我的服务器 但是当它发送时会导致错误 Access Control Allow Headers 不允许请求标头字段 Content Type 所以我用谷歌搜索了错误并添加了标题 http post rootSc
  • 如何在 JS Rails 响应中包含 HTML?

    我有一个响应 HTML 和 JS AJAX 查询的 FooController app controllers foo controller rb class FooController lt ApplicationController l
  • 根据用户区域设置过滤字符串列表

    当使用 AngularJS 1 6 处理 JavaScript 项目时 我有一个要过滤的字符串列表 例如 假设我的列表包含 rbol cig e a nido and tubo 当过滤西班牙语字符串时 如果我过滤 u 我会期望两者cig e
  • 如何获取传单标记簇中点击事件的图块?

    这是我的代码 function onMapClick e e originalEvent defaultPrevented true var orig e originalEvent console log orig target map
  • 通过 Javascript 将图像切割成碎片

    我正在创建一个简单的拼图游戏 为了做到这一点 我需要将我正在使用的图片切成 20 块 Javascript 有没有办法将一张图片切成 20 个相等的部分 并将它们保存为网页中的 20 个不同的对象 或者我只需要进入 Photoshop 自己
  • Office excel将CORS请求作为跨域请求

    我正在尝试从我的 Excel 插件发出跨域请求 正如这里所建议的 http dev office com docs add ins develop addressing same origin policy limitations http
  • 将上部字符转换为下部字符,将下部字符转换为上部字符(反之亦然)[重复]

    这个问题在这里已经有答案了 我需要将某些字符串中的所有较低字符转换为较高字符 并将所有较高字符转换为较低字符 例如 var testString heLLoWorld 应该 HEllOwORLD 转换后 在不保存临时字符串的情况下实现此目的
  • Javascript 正则表达式来匹配正则表达式

    我正在研究一个特殊的正则表达式来匹配 javascript 正则表达式 现在我有这个正则表达式工作 i g m 例如 foo match i g m gt foo foo undefined foo i match i g m gt foo
  • jQuery 在 Chrome 下发现错误元素

    我使用 jQuery 迭代 HTML 表 并动态填充每行的行号 通过在文本框中填充行号 function updateRowNums myTable find tr each function index this find input i
  • 有没有好的 JQuery twitter 小部件可以循环推文?

    我想知道是否有任何 JQuery 小部件提供了循环加载推文的功能 例如在官方小部件中http twitter com about resources widgets widget profile http twitter com about
  • 使用本机 JavaScript 获取过渡中的 CSS 值

    这个问题之前被问过 但答案使用了 jQuery here https stackoverflow com q 8920934 3186555 因此 我将调整问题以专门询问native解决方案 to 最小化依赖关系 假设您有一个 div 然后
  • 通过多个回调优雅地传递“点击事件”

    当未登录的用户单击给定的按钮时 我想停止该事件 收集他的 oauth 收集他的电子邮件 如果我没有 然后执行该事件 我想用 javascript 来做所有事情 因为这会让事情变得更加简单 这就是我执行它的方式 我有两个问题 有没有更优雅的方
  • D3v6 嵌套图 - 嵌套 join()?

    我想可视化每个节点的 孩子 洞察力 我猜 D3v6 join 函数可以嵌套 不幸的是我找不到任何例子 下面的代码片段包含一个具有 3 个节点和子节点作为属性的outerGraph 到目前为止 这些孩子还没有被使用 相反 innerGraph
  • ExpressJS - DELETE 请求后 res.redirect

    我一直在寻找如何执行此操作 我正在尝试在发出删除请求后重定向 这是我正在使用的代码没有重定向 exports remove function req res var postId req params id Post remove id p
  • 一个接一个地淡入div

    大家好 我很擅长 HTML 和 CSS 但才刚刚开始接触 jQuery 的皮毛 我希望让 3 个 div 在页面加载时逐渐淡入 到目前为止我有这个 我听说使用 css 将显示设置为 none 对于任何使用非 JavaScript 浏览器的人
  • 将 div 文本分配给变量然后显示它

    我有一个简单的任务 我试图完成学习 JavaScript 但一直无法找到明确的答案 这是代码 div Testing div 基本上我希望将方框 div 中的文本存储到变量中 然后 我想在页面的不同部分显示该变量的文本 使用上面的代码我得到
  • Nodejs 一个接一个地运行异步函数

    我是 JS nodejs 的新手 所以如果我不能提出切中要害的问题 请原谅我 所以基本上 如果我有两个异步函数 async function init async function main 如何确保在 init 完成其异步请求后调用 ma

随机推荐

  • Cython:编译独立的静态可执行文件

    我正在尝试编译一个不使用动态加载器的可执行文件 ELF 文件 我用了Cython将Python编译为C cython3 3 test py embed Then gcc test c otest pkg config libs cflags
  • 如何将 Material UI 集成到 Svelte 项目中

    我想整合材质用户界面 https sveltematerialui com 进入我的 Svelte 项目 我尝试遵循官方文档here https github com hperrin svelte material ui 但我不知道为什么在
  • 有没有类似于 Java 的 mini-mvc-profiler 的东西?

    正如标题所说 有没有类似的东西迷你 MVC 分析器 http code google com p mvc mini profiler 对于Java 我正在寻找可以用于Struts http struts apache org or 春季MV
  • 我们可以指定散景导出的 png 文件大小/分辨率吗?

    使用 Python Bokeh export png 函数 我们可以将对象导出到 png 文件 但是 我找不到任何方法来指定生成的 png 文件大小 分辨率 我发现我使用相同的代码在Windows和Linux中得到了不同的png文件 在 W
  • Postgresql 捷克语全文搜索(无默认语言配置)

    我正在尝试设置捷克语全文搜索 我有点困惑 因为我看到了一些cs cz affix and cs cz dict里面的文件tsearch data文件夹 但没有捷克语配置 它可能不随 Postgres 一起提供 那么我应该创建一个吗 我必须创
  • 使用 Gradle 将依赖项添加到运行时映像

    我不知道如何添加依赖项 我的模块需要 Log4j 我向模块信息添加了要求 我还添加了 gradle 依赖项 我可以运行项目 但无法创建自定义运行时映像 plugins id java id application id org openjf
  • 返回数组中重复元素的最佳方法

    这是我用来返回重复元素的方法 但是 当我的数组有大量长文本项目时 我面临着最危险的性能问题 例如浏览器关闭等 var arr 9 9 111 2 3 4 4 5 7 var sorted arr arr sort var results f
  • vscode Typescript Intellisense 仅显示第一个选项?

    我正在开发我的 React Native TypeScript 应用程序 今天突然 没有更新 没有更改设置 我的智能感知开始只显示第一个建议 无论如何 这个问题不是特定于特定类的 我已经多次重新启动Vscode 重新启动TS语言服务器 删除
  • 参数中包含空格的 Python 子进程调用在 Windows 上不起作用

    我正在运行一个 java 命令 该命令获取类路径和其他有空格的文件位置 Windows 似乎不喜欢它 我从 C Program Files Splunk 运行程序 其中有一个空格 这是我的命令 c1 os path join appdir
  • 如何获取TFS集合中所有项目的名称?

    关于如何从TFS获取集合参考here https stackoverflow com questions 16100991 how to get all collections from tfs 16100992 16100992 请参考h
  • Kube-proxy 或 ELB“延迟”HTTP 请求数据包[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我们正在 AWS 中的 Kubernetes 1 9 3 上运行 Web API 应用程序 使用 KOPS 设置 该应用程序是一个部署
  • 用换行符/段落标记替换所有空格以制作单词列表

    我正在尝试列出我们在课堂上翻译的希腊语文本的词汇表 我想用段落标记替换每个空格或制表符 以便每个单词都出现在自己的行上 谁能给我 sed 命令 并解释我在做什么 我仍在尝试弄清楚 sed 对于相当现代的 sed 版本 编辑标准输入以产生标准
  • 通过 Azure Devops 部署 Nuget 包时未添加依赖项

    我创建了 net 标准库 创建后 我尝试通过选择项目文件中存在的包选项从我的视觉工作室创建 nuget 包 然后尝试在另一个控制台应用程序中使用本地创建的 nupkg 文件 它工作正常 它显示了预期的依赖关系 然后 我通过创建管道通过 Az
  • android:admob InterstitialAd 在 loadAd 时崩溃

    我正在使用 Admob 的 InterstitialAd 我的应用程序仅在第一次调用时才会在 loadAd 处崩溃 并且不可重现 每运行 100 200 次或多或少就会发生一次 广告单元 ID 肯定是正确的 因此 如果 loadAd 在第一
  • Spark CollectAsMap

    我想知道collectAsMap在Spark中是如何工作的 更具体地说 我想知道所有分区的数据聚合将在哪里进行 聚合发生在 master 或workers 中 在第一种情况下 每个工作人员将其数据发送到主设备上 当主设备从每个工作人员收集数
  • .htaccess:将根 url 重定向到子目录,但保留根 url

    我正在清理域的目录结构 在根目录中设置根 url 的内容对我来说是不幸的 并且需要一些关于如何正确使用 RewriteRule 的见解 The Gist I want 域名 tld to use 域名 tld 子目录 但仍然显示为域名 tl
  • 如何通过WCF处理大文件上传?

    我正在考虑将 WCF 用于一个项目 该项目需要人们能够将大文件 64MB 1GB 上传到我的服务器 我将如何使用 WCF 处理此问题 可能能够恢复上传 为了处理更大的客户群 我想通过 WCF 测试 JSON 这将如何影响文件上传 可以通过
  • 防止 TextInputLayout 使 TextInputEditText 变高

    我想要密码切换功能 看起来TextInputLayout有这个功能 没有TextInputEditText 但正如你看到下面的代码 即使我将高度设置为wrap content and app hintEnabled false 高度为Tex
  • 如何从 googleapi Youtube API 获取 XML 响应

    YouTube 似乎已将其 API 更新为较新的 API YouTube 数据 API v3 https developers google com youtube v3 突然我网站上的 YouTube 搜索不起作用了 我正在尝试更新它们以
  • Safari 原生代码

    有人熟悉 OS X Safari 版本 3 和 WebKit 中的本机代码吗 我正在使用 Javascript 来解析表单中的一些信息 我的输入之一名为 标签 当尝试使用以下方法获取该元素的值时 button is being passed