为什么在这个网站上不能通过JS访问元素
Why is it not possible to access elements via JS on this site?
我所说的网站:https://sephir.ch/vfi/user/lernendenportal/index.cfm
我想制作一个简单的书签,将我的电子邮件和密码填充到这两个文本框中。我的JS代码可以在任何其他网站上使用,但不能在这个网站上使用。
HTML:
<input type="text" name="email" size="40" maxlength="60" class="tdschwarz" autocomplete="off">
JS:
javascript:function fill() {alert(document.getElementsByName("email")[0].value);} fill();
错误:
Uncaught TypeError: Cannot read property 'value' of undefined
你们知道为什么它不起作用吗?提前谢谢。
因为电子邮件字段在一个框架内,所以document
对象与字段的对象不同。
为了访问该字段,首先必须获得它所属的文档对象。检查DOM时,必须访问#mainFrame
帧:
var frame = document.getElementsByName("mainFrame")[0];
现在你可以得到元素:
var email = frame.contentDocument.getElementsByName("email")[0];
这适用于现代浏览器。在IE8及更早版本中,有一个不错的document.frames
属性可以让事情变得更容易:
var email = document.frames.mainFrame.document.getElementsByName("email")[0];
使用window.mainFrame.document
:获取
javascript:function fill() {alert(window.mainFrame.document.forms['login'].email.value);} fill();
输入在iframe中。您需要先获取iframe,然后再获取input元素。
document.getElementsByName('mainFrame')[0].contentDocument.getElementsByName('email')[0]
相关文章:
- 为什么在这个网站上不能通过JS访问元素
- 使用Angular.js访问php数组数据
- 使用Backbone.js访问JSON响应的部分
- JS/JON-通过JS访问JSON中的多个数组
- 从 Node.js 访问 Jade 中的 Javascript 对象
- 通过oauth令牌passport.js访问用户配置文件
- require.js:访问所有加载的模块
- 如何使用d3.js访问JSON
- 在Internet Explorer中使用JS访问对象内部的SVG
- 连接到客户端's PC使用php或JS访问文件
- 主干网需要.js访问模型
- 从 duo 构建的 js 访问脚本中的对象
- 在子对象中显示筛选列表的挖空 js.访问要过滤的父对象列表
- 来自控制器外部的角度JS访问范围
- 从控制台 js 访问属性
- 从 js 访问插件控制器
- 使用多线程.js访问范围
- 如何使用 Handlebars.js 访问 JSON 对象
- GWT:如何从纯js访问其Web服务
- 如何从 Node.js 访问、检索、存储和删除文件到远程文件服务器中