这是我的HTML代码:
<frameset rows="18,*" frameborder=0 framespacing=0>
<frame src="/zh-cn/MapS/MainTop/" noresize scrolling=no>
<frameset cols="0,*,210" name="menu">
<frame src="/zh-cn/MapS/MainLeft/" scrolling=no noresize>
<frame src="/zh-cn/MapS/Watch/" name="desk">
<frame src="/zh-cn/MapS/RightMenu/" scrolling=no noresize>
</frameset>
</frameset>
这是框架中的javascript代码:
parent.parent.frames[2].frames[0]
我想知道这个框架是哪个名字,
我这样做:
console.log(parent.parent.frames[2].frames[0].nodename)
它显示:
undefined
所以我该怎么做,
感谢
答案 0 :(得分:6)
例如,这应该有效
window.frameElement.name
此外,如果您拥有的只是对框架内元素的引用,并想知道此元素所属的框架名称:
document.getElementsByTagName("body")[0].ownerDocument.defaultView.window.frameElement.name
答案 1 :(得分:1)
问候,
您可以创建一个函数来从框架内容中检索框架元素名称,如下所示:
function getFrameName(frame) {
var frames = parent.frames,
l = frames.length,
name = null;
for (var x=0; x<l; x++) {
if (frames[x] === frame) {
name = frames[x].name;
}
}
return name;
}
然后在文档中调用它:
window.onload = function() {
var body = document.getElementsByTagName("body")[0],
name = getFrameName(self);
if (name != null) {
var text = document.createTextNode("this frame name is: " + name);
body.appendChild(text);
}
}
希望有所帮助。
答案 2 :(得分:1)
为什么这里的所有答案都如此复杂?
当前文件的名称(==框架名称)可以通过以下方式获得:
var sName = window.name;
如果当前文档是根文档,或者如果父文档没有为子框架指定名称,则sName将为空字符串。
答案 3 :(得分:0)
这应该给你src值。
console.log(parent.parent.frames[2].frames[0].location.href)
答案 4 :(得分:0)
将您的HTML更改为:
<html>
<frameset rows="18,*">
<frame name="MainTop" src="/zh-cn/MapS/MainTop/" scrolling="auto" frameborder="0">
<frameset cols="0,*,210">
<frame name="MainLeft" src="/zh-cn/MapS/MainLeft/" scrolling="auto" frameborder="0">
<frame name="Watch" src="/zh-cn/MapS/Watch/" scrolling="auto" frameborder="0">
<frame name="RightMenu" src="/zh-cn/MapS/RightMenu/" scrolling="auto" frameborder="0">
</frameset>
</frameset>
</html>
测试脚本:
console.log(parent.frames[2].name);
答案 5 :(得分:0)
为什么那么麻烦? 只是
Console.Write("Your card is a{0} " & textValue & " of " & suit, IIf(textValue = "Ace", "n", ""))
Dim string2 As String = (suitIcon & " " & textValue)
Dim padAmount As Integer = (25 - (suit.Length + textValue.Length)) + suitIcon.Length + textValue.Length
If textValue = "Ace" Then
padAmount -= 1
End If
Console.Write(string2.PadLeft(padAmount, " "c))
Console.WriteLine()
为您提供当前帧名称。
答案 6 :(得分:0)
当前页面:
location.pathname
当前页面的地址:
<强> location.href
强>
页面内的第一帧:
<强> parent.frames[0].name
强>
请注意:
window.document.location