-1

我想删除logo.png下面js中的图像行并替换为iframe代码。

currentRoomId = document.getElementById('roomID').value;

if ( document.getElementById('room_' + currentRoomId + '_bg') ) {
    document.getElementById('login_banner').src = document.getElementById('room_' + currentRoomId + '_bg').value;
}
else if ( document.getElementById('login_banner').src != "http://somedomain.com/header/logo.png" ) {
    document.getElementById('login_banner').src = "http://somedomain.com/header/logo.png";
}

if ( document.getElementById('room_' + currentRoomId + '_bg_link') && document.getElementById('room_' + currentRoomId + '_bg_link').value != 'FREE' ) {
    document.getElementById('login_banner_link').href = document.getElementById('room_' + currentRoomId + '_bg_link').value;
}
else if ( document.getElementById('login_banner_link') ) {

我想切换它,它位于 html 内部:

<img src="http://somedomain.com/logo.png" id="login_banner" /></a>

对此:

<iframe class="animation" src="http://somedomain.com/header/index.html" id="login_banner"></iframe>

所以后端可以识别它是否应该显示默认横幅或客户端横幅。

我需要编辑 js 代码以反映最终的 html 输出。

谢谢你。

4

1 回答 1

2

如果我正确地理解了您的问题,在纯 javascript 中,您可以使用此代码删除图像并在其位置插入一个框架:

// create frame element
var frame = document.createElement("iframe");
frame.className = "animation";
frame.id = "login_banner";
frame.src = "http://somedomain.com/header/index.html";

// insert frame before img
var img = document.getElementById('login_banner');
img.parentNode.insertBefore(frame, img);

// remove img
img.parentNode.removeChild(img);

如果您尝试做一些不同的事情,请澄清您的问题。


我不确定你想在哪里插入这段代码,但如果你想在else if你发布的代码的最后一个地方插入它,它会是这样的:

currentRoomId = document.getElementById('roomID').value;

if ( document.getElementById('room_' + currentRoomId + '_bg') ) {
    document.getElementById('login_banner').src = document.getElementById('room_' + currentRoomId + '_bg').value;
}
else if ( document.getElementById('login_banner').src != "http://somedomain.com/header/logo.png" ) {
    document.getElementById('login_banner').src = "http://somedomain.com/header/logo.png";
}

if ( document.getElementById('room_' + currentRoomId + '_bg_link') && document.getElementById('room_' + currentRoomId + '_bg_link').value != 'FREE' ) {
    document.getElementById('login_banner_link').href = document.getElementById('room_' + currentRoomId + '_bg_link').value;
}
else if ( document.getElementById('login_banner_link') ) {
    // create frame element
    var frame = document.createElement("iframe");
    frame.className = "animation";
    frame.id = "login_banner";
    frame.src = "http://somedomain.com/header/index.html";

    // insert frame before img
    var img = document.getElementById('login_banner');
    img.parentNode.insertBefore(frame, img);

    // remove img
    img.parentNode.removeChild(img);
}

如果您只想知道向页面添加 iframe 的 HTML 是什么,那么应该是这样的:

<iframe class="animation" src="http://somedomain.com/header/index.html" id="login_banner" height="400" width="400"></iframe>
于 2013-04-30T02:11:57.090 回答