Вы можете использовать сообщения для общения от родителя с iframe.
Поместить этот код в родительский
// Create IE + others compatible event handler
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
// Listen to message from child window
eventer(messageEvent,function(e) {
// e.data = "foo"
doStuff(e.data);
},false);
function doStuff(data){
console.log(data);
}
Поместить этот код в iframe
var someVarible = "foo"
parent.postMessage(someVarible, "https://urlofsite.com");
РЕДАКТИРОВАТЬ Чтобы заставить его работать с кодом, который у вас уже есть.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<iframe srcdoc="<script>let innerStr='xyz';window.parent.test(innerStr);</script>">
</iframe>
<script>
function test(foo) {
var iframe = window.frames[0];
console.log('frames innerStr: ' + foo)
}
</script>
</body>
</html>