Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取文件上载按钮';s文本?_Javascript_Html_Button - Fatal编程技术网

Javascript 如何获取文件上载按钮';s文本?

Javascript 如何获取文件上载按钮';s文本?,javascript,html,button,Javascript,Html,Button,我正在为一个web平台编写文档,我想参考我的说明中的文件上载按钮。但是,按钮上的确切文本取决于浏览器。例如,Firefox称之为Browse…,Chrome称之为Choose File <input type="file"> 是否可以通过编程方式访问(而不是更改)该文本?我知道我可以检测浏览器并相应地设置文档中的文本,甚至可以使用变通方法设置按钮文本,但这不是我要问的。此文本由浏览器呈现特定HTML元素的方式设置。无法访问或更改该文本。它永远不会加载到DOM中,因此通过jQue

我正在为一个web平台编写文档,我想参考我的说明中的文件上载按钮。但是,按钮上的确切文本取决于浏览器。例如,Firefox称之为
Browse…
,Chrome称之为
Choose File

<input type="file">


是否可以通过编程方式访问(而不是更改)该文本?我知道我可以检测浏览器并相应地设置文档中的文本,甚至可以使用变通方法设置按钮文本,但这不是我要问的。

此文本由浏览器呈现特定HTML元素的方式设置。无法访问或更改该文本。它永远不会加载到DOM中,因此通过jQuery查找也不是一个选项

对于您的文档,您可能需要说明文本的IE版本,然后列出Chrome、Safari、Firefox等。这是我能想到的向用户解释的最好方式

编辑


我想我应该更新并提到ShadowDOM,因为它对我来说很有趣,很新鲜。您可以在Chrome开发工具->设置->显示用户代理阴影DOM中启用此功能。在那里,您可以实际查看渲染控件及其文本集。尽管如此,它不能通过客户端脚本以编程方式访问:(

您可以为输入id使用标签并隐藏输入

例如:

标签{
/*只是为了模拟一个按钮,你会把你的按钮样式*/
-webkit外观:按钮;
-moz外观:按钮;
外观:按钮;
文字装饰:无;
颜色:首字母;
}
输入{
/*隐藏inout*/
宽度:0px;
大纲:无;
不透明度:0;
能见度:无;
高度:0px;
显示:无;
}

名称
是否可以通过编程方式访问(而不是更改)该文本

不可以。无法访问以编程方式呈现文本的
ShadowDOM
元素的
.value
。显示
ShadowDOM
DOM
元素的
.shadowRoot
属性设置为
null

Chrome,Chrome在
元素的
阴影域中公开
.value
输入类型=“文件”
元素的
计算名称
属性

const UPLOAD\u按钮\u TEXT=document.querySelector(“input[type=file]”)
.计算名称;
console.log(上传按钮文本);

您所说的“访问”是什么意思?我猜,他想根据按钮上的实际文本,根据用户使用的任何浏览器,将实际文本拉入文档,但不必获取浏览器信息。不幸的是,有人删除了他们的答案,因此我将指向另一个问题的答案:@fenceop您是否尝试检索浏览器信息使用客户端
javascript
?它解决了OP的问题,但显然我们不能有任何这些Ciao Paolo,我想获取默认文本,而不是更改它。@fenceop无法“获取默认文本”呈现文本的
元素的
.value
。“无法访问或更改该文本。”可以查看包含
元素的元素的
ShadowDOM
,其中
.value
是chrome,chromium的渲染文本。我没有这方面的经验。但是,如果用户使用chrome,它不是很有用吗?还没有找到查看
ShadowDOM
的方法元素。将每晚尝试。无法“以编程方式访问(而不是更改)该文本”。编辑后的答案与此答案有何不同?噢,原始答案是指您的答案。您使用“原始答案”的上下文让人觉得你在修改之前参考了我的答案。是的,和你的答案一样,只是想添加它以确保每个人都能看到。所以这并不能真正解决他以编程方式访问它的问题。不过,这是我很长时间以来对开发工具所了解的最有趣的事情。@CrazyPaste这个“问题”当前无法解决。无法使用客户端
javascript