从父级的 iframe 获取 innerText

Get innerText from iframe from parent

您好,我正在向我的页面添加一些 iframe。 iframe 只包含一个值,我想从父级获取它。我尝试了此处在堆栈溢出上发布的许多答案,但其中 none 对我有用。下面我附上了图片,因此您可以看到页面中如何包含 iframe。我想获取红框中的值,方便以后使用。

代码:

  var graphUrls = tmpSource.getGetFeatureInfoUrl(
    graphCoor, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'});
  var frr = document.createElement("iframe");
  frr.onload = function(){
    var jjj = $("iframe body a").text()
    var kkk = $("iframe body #ras-val").text()
    console.log("jjj ", jjj)
    console.log("kkk ", kkk)
  };
  frr.id = sourceParams.year + "-" + sourceParams.month + "-" + sourceParams.day;        
  frr.src = graphUrls
  document.body.appendChild(frr);

如果返回的 url 来自与您的主文档相同的域,并且仅在这种情况下,
然后你可以通过 contentDocument of your iframe as the second parameter of $(selector, context).

// frame is you iframeElement
$('#ras-val', frame.contentDocument).text()

As a fiddle 因为 StackSnippet 的空起源框架不允许我们访问内部框架...

请注意,选择器将相对于此 context,因此您不会传递 "iframe body a" 而只是 "body a".

如果 url 不是来自同一个域,则出于安全原因不允许您的前端代码访问此文档。