Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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隐藏对象元素数据值的子节点_Javascript_Html - Fatal编程技术网

Javascript隐藏对象元素数据值的子节点

Javascript隐藏对象元素数据值的子节点,javascript,html,Javascript,Html,我已经在谷歌上搜索过了,并给出了元素类型“object”的一般性质。我还没有找到大海捞针来回答我的问题,已经几个小时了,所以我承认失败并寻求帮助 我有: <object id ="siteconfigwindow" name="siteconfigwindow" type="text/html" data="blank.html" width="100%" height="600" onload="hideeditcontrols()"> 成功加

我已经在谷歌上搜索过了,并给出了元素类型“object”的一般性质。我还没有找到大海捞针来回答我的问题,已经几个小时了,所以我承认失败并寻求帮助

我有:

<object id ="siteconfigwindow" name="siteconfigwindow" type="text/html" 
        data="blank.html" width="100%" height="600" 
        onload="hideeditcontrols()">
成功加载的
url
包含以下内容:

<div style="text-align:center;">
    <input id="nodeAdd" type="submit" name="addButton">
    <input id="nodeEdit" type="submit" name="editButton">
    <input id="nodeDelete" type="button" name="nodeDelete">
</div>
但是,当使用object元素通过自定义页面上的控制台发出相同的命令时,会出现null对象错误

如果有人知道显示源代码页和隐藏div的更好方法,我完全支持放弃整个代码

这两个页面都在我的内部网和同一台服务器上,所以我认为这与安全无关。
我提前感谢您提供的任何帮助。

您可以使用iframe进行此操作,只要您不与相同来源的问题发生冲突

关键是访问iframe元素的contentDocument属性(适用于Chrome-有关跨浏览器的信息,请参阅:

例如-此页面:

<html>
<head>
</head>
<body>

<iframe id='siteconfigwindow' src=''></iframe>

<script>
    document.getElementById("siteconfigwindow").src = 'test.html';
    document.getElementById("siteconfigwindow").addEventListener('load', function() {
        this.contentDocument.getElementById("nodeAdd").parentNode.style.visibility = 'hidden'
    });
</script> 

</body>
</html>

document.getElementById(“siteconfigwindow”).src='test.html';
document.getElementById(“siteconfigwindow”).addEventListener('load',function(){
this.contentDocument.getElementById(“nodead”).parentNode.style.visibility='hidden'
});
成功加载并隐藏上述按钮组:

<html>
<head>
</head>
<body>

    <div style="text-align:center;">
        <input id="nodeAdd" type="submit" name="addButton">
        <input id="nodeEdit" type="submit" name="editButton">
        <input id="nodeDelete" type="button" name="nodeDelete">
    </div>

</body>
</html>


您真的需要使用对象/框架吗?为什么不直接在主页中注入div(使用Ajax)?谢谢你的建议,一个快速搜索就得出了这样的结论:我会在早上进行调查,比预期的要多,但似乎很简单。如果其他人有建议,我也会欢迎。谢谢,这是我最初打算做的(抱歉,忘了那一点背景信息)但我所有的内容编辑都对我的iframe大喊大叫,说我的iframe被贬低了,不使用它。但时间就是金钱,我会把它扔到那里,这样用户就可以得到他们现在需要的东西,并在闲暇时玩弄Ajax解决方案。嗯,据我所知,他们错了。他们是HTML5规范的正式组成部分,甚至得到了增强。它们给大多数人留下了不好的印象,但有时它们是有用的。我几乎一字不差地使用了iframe示例,只是我将内联函数移到了它自己的函数中,这样我就可以根据其他进程的需要调用它,并添加了一些代码来隐藏其他元素。我在当前的IE9、Chrome或FF中没有遇到任何渲染问题,这是wh在我的网站上,用户应该拥有(企业局域网的一个优点是,每个人都应该运行相同版本的浏览器)
<html>
<head>
</head>
<body>

<iframe id='siteconfigwindow' src=''></iframe>

<script>
    document.getElementById("siteconfigwindow").src = 'test.html';
    document.getElementById("siteconfigwindow").addEventListener('load', function() {
        this.contentDocument.getElementById("nodeAdd").parentNode.style.visibility = 'hidden'
    });
</script> 

</body>
</html>
<html>
<head>
</head>
<body>

    <div style="text-align:center;">
        <input id="nodeAdd" type="submit" name="addButton">
        <input id="nodeEdit" type="submit" name="editButton">
        <input id="nodeDelete" type="button" name="nodeDelete">
    </div>

</body>
</html>