区分两个iframe的console.log

时间:2015-03-15 20:48:22

标签: javascript html iframe

我有一个页面(让我们称之为主页面),其中两个IFrame显示相同的页面(让我们称之为子页面)。

如果我在我的子页面的javascript代码中写了console.log('hello'),当我加载主页面时,我会在控制台中获得两条相同的消息hello

有没有办法区分日志来自哪个IFrame?或者,换句话说,我怎样才能理解日志来自哪两个IFrame?

2 个答案:

答案 0 :(得分:2)

您可以通过在网址中添加哈希来区分它们,例如:

<iframe src="child.html#iframe-1"></iframe>
<iframe src="child.html#iframe-2"></iframe>

然后,在您的子页面中,覆盖console.log函数,以便将该哈希添加为前缀:

if(window.console && console.log){
    var old = console.log;
    console.log = function(){
        Array.prototype.unshift.call(arguments, window.location.hash + ': ');
        old.apply(this, arguments)
    }
}
console.log('hi'); // Will output '#iframe-X: hi'

覆盖控制台的代码来自Arun P Johny

答案 1 :(得分:0)

您可以尝试在控制台语句中包含这样的位置:

console.log(window.location.pathname, 'hello');