将JS中变量的值写入HTML Div

时间:2015-06-05 06:04:13

标签: javascript html

我正在尝试显示c客户端浏览器中未安装但需要的插件列表。 以下代码首先将txt文件(包含所需的插件)作为输入。之后,它与浏览器上安装的插件列表进行比较。我得到的只是在div标签中写的内容而不是浏览器上没有安装的插件名称。 test.txt文件的内容是 - Flash                                          Java的 请帮忙!



function LoadFile(e) {


    //Reading and displaying the Plugins Required
    var div = document.getElementById('txt');

    var oFrame = document.getElementById("frmFile");
    var strRawContents = oFrame.contentWindow.document.body.childNodes[0].innerHTML;
    while (strRawContents.indexOf("\r") >= 0)
        strRawContents = strRawContents.replace("\r", "");
    var arrLines = strRawContents.split("\n");
    document.writeln("File " + oFrame.src + " has " + arrLines.length + " line(s)<br/>");

    e.preventDefault();

    for (var i = 0; i < arrLines.length; i++) {
        var temp = false;
        var curLine = arrLines[i];
        document.write("<br/>Line #" + (i + 1) + " is: '" + curLine + "'<br/>");
        for (var j = 0; j < navigator.plugins.length; j++) {
            var plugin = navigator.plugins[j];
            var plugin_name = plugin.name;
            var n = plugin_name.search(curLine);
            if (n != -1) {
                document.write("Plugin Present<br/>");
                temp = true;
                break;
            }

        }
        if (temp == false) {
            document.write("Plugin is not present<br/>");
            div.innerHTML = plugin_name;

        }
    }
}
&#13;
<!doctype html>
<html>
<iframe id="frmFile" src="test.txt" onload="LoadFile();" style="display: none;"></iframe>
<head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <script src ="test.js" type="text/javascript"></script>
    <div id="txt"> This is where it should input</div>
</head>
<body>
<table id="info" cellpadding="0px" cellspacing="0px" border="1px" style="empty-cells:show;">
    <colgroup>
        <col style="background-color: #e0a0b0;" />
        <col />
    </colgroup>
    <tbody>
    </tbody>
</table>
</body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

你犯了一些错误。

  1. iframe需要位于html的<body>标记中。
  2. <div id="txt">也应位于<body>标记内。
  3. 要获取iframe的HTML源代码,需要window.frames[0].document.body.innerHTML;
  4. 出于jsFiddle的目的,document.write()被禁用。同样,未定义的e被禁用。此外,jsFiddle不允许跨站点iframe,因此使用来自其自己站点的虚拟页面。
  5. 更正了工作示例:Fiddle

答案 1 :(得分:-1)

要改变html标签的值(假设允许它),在你的情况下是

<div id="txt"> This is where it should input</div>

在Javascript中会是这样的:

document.getElementById("txt").innerHTML=yourValue;