您好我想在跨域的iframe中自动填充数据。我有一个代码,但它不起作用。请帮帮我。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function autoFill() {
var f=fm.document.forms[0];
f.form-control.value='Zanne';
f.submit();
}
</script>
</head>
<body>
<div>
<button type="button" onclick="autoFill();">autoFill</button>
</div>
<iframe name="fm" id="fm" src="url.com" width="100%" height="100%"></iframe>
</body>
</html>
输入已填写:
有办法做到这一点。
答案 0 :(得分:1)
这将是违反CORS的行为。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
这有一些解决方法。您必须使用postMessage API。您的父窗口需要将JavaScript事件发送到iFrame,iFrame需要有一个事件监听器并对其作出反应。
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage