Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 确定iframe元素中的现有属性_Javascript_Dom_Iframe - Fatal编程技术网

Javascript 确定iframe元素中的现有属性

Javascript 确定iframe元素中的现有属性,javascript,dom,iframe,Javascript,Dom,Iframe,以下脚本: function getIframe(id) { var iframe=null; for (var i = window.frames.length - 1; i >= 0; i--) { if(window.frames[i].frameElement.id==id){iframe=window.frames[i];break;} } return iframe; } console.log('iframe:',iframe); con

以下脚本:

function getIframe(id) {
   var iframe=null;
   for (var i = window.frames.length - 1; i >= 0; i--) {
      if(window.frames[i].frameElement.id==id){iframe=window.frames[i];break;}
   }
   return iframe;
}

console.log('iframe:',iframe);
console.log('keys',Object.keys(iframe));
console.log('iframe["width"]',iframe["width"]);
生成以下结果:

iframe: Window ~.php?task=get_image&dummy=1435083899977
keys ["close", "stop", "focus", "blur", "open", "alert", "confirm", "prompt", "print", "showModalDialog", "postMessage", "captureEvents", "releaseEvents", "getSelection", "getComputedStyle", "matchMedia", "moveTo", "moveBy", "resizeTo", "resizeBy", "scroll", "scrollTo", "scrollBy", "requestAnimationFrame", "cancelAnimationFrame", "getDefaultComputedStyle", "mozRequestAnimationFrame", "mozCancelAnimationFrame", "mozCancelRequestAnimationFrame", "scrollByLines", "scrollByPages", "sizeToContent", "updateCommands", "find", "dump", "setResizable", "btoa", "atob", "setTimeout", "clearTimeout", "setInterval", "clearInterval", "self", "name", "history", "locationbar", "menubar", "personalbar", "scrollbars", "statusbar", "toolbar", "status", "closed", "frames", "length", "opener", "parent", "frameElement", "navigator", "external", "applicationCache", "screen", "innerWidth", "innerHeight", "scrollX", "pageXOffset", "scrollY", "pageYOffset", "screenX", "screenY", "outerWidth", "outerHeight", "performance", "mozAnimationStartTime", "mozInnerScreenX", "mozInnerScreenY", "devicePixelRatio", "scrollMaxX", "scrollMaxY", "fullScreen", "mozPaintCount", "onwheel", "ondevicemotion", "ondeviceorientation", "ondeviceproximity", "onuserproximity", "ondevicelight", "content", "console", "sidebar", "crypto", "onabort", "onblur", "onfocus", "oncanplay", "oncanplaythrough", "onchange", "onclick", "oncontextmenu", "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onpause", "onplay", "onplaying", "onprogress", "onratechange", "onreset", "onresize", "onscroll", "onseeked", "onseeking", "onselect", "onshow", "onstalled", "onsubmit", "onsuspend", "ontimeupdate", "onvolumechange", "onwaiting", "onmozfullscreenchange", "onmozfullscreenerror", "onmozpointerlockchange", "onmozpointerlockerror", "indexedDB", "onerror", "onafterprint", "onbeforeprint", "onbeforeunload", "onhashchange", "onlanguagechange", "onmessage", "onoffline", "ononline", "onpagehide", "onpageshow", "onpopstate", "onunload", "localStorage", "sessionStorage", "window", "document", "location", "top", "$", "jQuery", "jQuery19107258252193071153", "obj", "virtualDirectory", "formatSizeUnits", "getThumb_folder", "getThumb_file", "getList_folder", "getList_file", "InstallTrigger"]
iframe["width"] <input id="width" class="input-small numbers-only" type="text" value="" title="Width" placeholder="Width">
iframe:Window~.php?task=get_image&dummy=1435083899977
按键[“关闭”、“停止”、“聚焦”、“模糊”、“打开”、“警报”、“确认”、“提示”、“打印”、“showModalDialog”、“postMessage”、“captureEvents”、“releaseEvents”、“getSelection”、“getComputedStyle”、“matchMedia”、“moveTo”、“moveBy”、“resizeTo”、“resizeBy”、“scroll”、“scrollTo”、“scrollBy”、“requestAnimationFrame”、“cancelAnimationFrame”,“getDefaultComputedStyle”、“mozRequestAnimationFrame”、“mozCancelAnimationFrame”、“mozCancelRequestAnimationFrame”、“scrollByPages”、“sizeToContent”、“UpdateCommand”、“find”、“dump”、“SetResizeable”、“btoa”、“atob”、“setTimeout”、“clearTimeout”、“setInterval”、“self”、“name”、“history”、“locationbar”、“menubar”、”personalbar、scrollbars、statusbar、toolbar、status、closed、frames、length、opener、parent、frameElement、navigator、external、applicationCache、screen、innerWidth、innerHeight、scrollX、pageXOffset、screenX、screenY、outerWidth、outerHeight、performance、mozAnimationStartTime、mozInnerScreenX、mozInnerScreenY、devicePixelRatio、scrollMaxX、scrollMaxY、fullScreen、mozPaintCount、onwheel、ondevicemotion、ondeviceorientation、ondeviceproximity、onuserproximity、onuserproximity、ondevicelight、content、console、sidebar、crypto、OnBort、onblur、onfocus、onfocus、Ononcanplaythrough、onchange、onclick、oncontextmenu、ondblclick、ondrag、ondragend、ondragenter、ondragleave、ondragover、ondragstart、ondrop、ondurationchange、ondurationchange、onemptied、oninput、oninvalid、onkeydown、onkeypress、onkeyup、OnLoaded、onloadeddata、onloadedmetadata、onloadstart、OnMousedDown、onmousedownonmouseenter、onmouseleave、onmousemove、onmouseout、onmouseover、onmouseup、onpause、onplay、onplay、onprogress、onratechange、onreset、OnResized、onscroll、OnSeek、OnSeek、onselect、onshow、onstalled、onsubmit、onsuspend、ontimeupdate、onvolumechange、onwaiting、OnMozzfullScreen、OnMozzfullScreenonmozfullscreenerror、onmozpointerlockchange、onmozpointerlockerror、indexedDB、onerror、onafterprint、onbeforeprint、onbeforeunload、onhashchange、onlanguagechange、onmessage、onoffline、ononline、onpagehide、onpageshow、onpopstate、onunload、localStorage、sessionStorage、window、document、location、top“,“$”,“jQuery”,“jQuery19107258252193071153”,“obj”,“虚拟目录”,“formatSizeUnits”,“GetHumb_文件夹”,“GetHumb_文件”,“getList_文件夹”,“getList_文件”,“InstallTrigger”]
iframe[“宽度”]
如图所示,“宽度”不是iframe的键,在Firebug中单击
Window~.php?task=get_image&dummy=1435083124957
时,Firebug也不会显示“宽度”

如果不随机尝试不同的字符串,例如“宽度”,我如何确定iframe元素中的现有属性?

从&,这些是不同的,您得到的是一个
窗口。frame
对象,它就像一个子窗口,您可以使用
innerWidth
来获取其视口的宽度。如果你使用类似
document.getElementsByTagName(“iframe”)[0]
您将得到一个
,它是一个dom元素,因此您可以像其他dom元素一样使用
width
来访问它的属性

我不确定你想要得到哪个对象,但是如果你想改变
iframe
的宽度,也许你应该使用
dom
一个

经过一些小测试后,
iframe['width']
将有值,有两种可能的情况:

  • 当前域中的某些js代码将值分配给
    iframe['width']
  • iframe src页面的js将值分配给它的
    窗口。宽度
  • 但是,这两种方法都会使Object.keys(iframe)具有键的宽度

    因此,有些人可能会这样做

  • Object.getPrototypeOf(iframe).width=
  • Object.getPrototypeOf(窗口)。宽度=在iframe的src页面中

  • 我不知道为什么有些人会这样做,但在这种情况下,也许你需要访问
    对象。getPrototypeOf(iframe)
    来获取所有可能的键。

    但是
    iframe[“width”]
    为什么会返回
    输入
    呢?你确定它返回
    输入
    吗,我测试并得到
    未定义的
    。是的,我确定。我知道你的信息是有限的,因为你不知道iframe是否应用了任何东西。无论如何,我不希望看到
    console.log('iframe[“width”]、iframe[“width”])
    返回输入。我终于得到了一个可以在上使用的链接,我在div标题上注册了一个click事件,并且在访问
    宽度时未定义。