【问题标题】:HTML/CSS/JavaScript Html page in another html page scrollbars issueHTML/CSS/JavaScript Html 页面在另一个 html 页面滚动条问题
【发布时间】:2016-07-26 17:13:18
【问题描述】:

我在尝试将另一个 HTML 文件加载到现有文件时遇到问题。我在我的 html 代码中使用带有这个功能的 JavaScript 来做到这一点

<script>
        function load_home(){
                document.getElementById("content").innerHTML='<object type="type/html" data="New folder\home.html" ></object>';
        }
    </script>

Q1:此代码在文件夹中时找不到“home.html”如果我将其移动到同一文件夹并将其更改为 data="home.html" 它可以正常工作。能解决吗?

Q2:即使代码找到我的“home.html”它会加载到一个盒子中类型的东西带有滚动条,以能够看到完整的 页面内容(滚动条可以是垂直的或水平的,具体取决于加载页面内的内容)

“index.html”和它的“style.css”文件:

/* Font to left and change text type*/
body{
	margin : 0;
	padding : 0;
	font-family : 'Arial',serif;
	min-width:1200px;
}

a{
	text-decoration : none;
}
/*NAV CLASS  */
#menu >.nav {
	
	background-color : #87CEEB;
	color: white;
	list-style : none; 
	
	padding : 4px 0 12px 0;
	margin : 0px;
}
/*CONTENTS RIGHT*/

.nav  > .nav-contects{
	text-align : right;
}
#menu >.nav  > .nav-contects > li {
	display : inline-block;
	padding-right: 50px;/*same as 0 25px 0 25px ( top left bottom right */
	
	font-size: 16px;
	margin : 0;
	position : relative;
	bottom : 10px;	/*align width center */
	
}
/*a tag inside a li tag inside a .nav class*/
#menu >.nav  > .nav-contects > li > a { 
	color: #f79963;
}
/* a tag inside a li tag inside a .nav class while mouse hovering */
#menu > .nav > .nav-contects > li > a:hover {
	color : #ffffff;
	padding : 0 0 0 0 ;
	/*margin : 0px;
	background-color : #888888;*/
}
<DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8">
	<title>
		my title
	</title>
	<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body onload="load_home()">

	<nav id="menu">
		<ul class="nav">

			<div class="nav-contects">	

				<li><a href="#Home" onclick="load_home">Home</a></li>
			</div>
		</ul>
	</nav>
			
	<div id="content" align = "center">
		
	</div>
	<script>
		function load_home(){
				document.getElementById("content").innerHTML='<object type="type/html" data="New folder\home.html" ></object>';
	    }
	</script>
	<div class="footer" align = "center">
		<p align = "center"> <i>an awesome business</i> </p>
	</div>
</body>

</html>

“home.html”文件

<DOCTYPE html>
<html lang="en">

<body>
        Some random long text
        dasfda gsdwgdsgd
        sgsdgsdgdsf sadddad     asddddddddddddddddddddddddddddddddddddddddddddddd
</body>

</html>

PS:这可能都是错误的,也许我正在尝试用错误的方式做所有事情

PSS:这不是我文档的完整代码,我删除了很多代码以确保它没有错误,包括样式和其他

EDIT#1:我希望“受限”框消失并打开“home.html”,就像我直接从计算机打开它一样”


非常感谢您提供的任何帮助。

【问题讨论】:

  • 使用相对路径和 iframe 代替对象
  • data="New folder\home.html" - 尝试使用 正确的 路径 - 没有(未编码的)空格和正斜杠。
  • 你能澄清点(2)吗?您是否试图简单地阻止滚动条出现,弹出窗口是否应该根据内容动态调整大小,弹出窗口背后的预期规则是什么?
  • @Hodrobond 不,它不会根据内容调整大小,无论里面有什么内容,它都会停留在大小上。我不知道空格是否会成为问题,但我已经尝试过,没有简单的“新”,但仍然无法正常工作
  • @ehem 应该动态调整大小吗? 预期的行为是什么?

标签: javascript html css responsive-nav


【解决方案1】:

(1) 此问题可能是由于您的网址中的空格引起的。应该使用encodeURI(src)src.replace(/ /g, '%20') 对其进行转义 CSS and JQuery: spaces inside image name break code of url()

(2) 如果您只是想让滚动条消失,请将样式 overflow: hidden 添加到弹出窗口中。但是请注意,如果任何内容从盒子中溢出,它将不可见/不可回收。

【讨论】:

  • 2) 是的,如果我不够清楚,我不希望框填满页面,如果我直接打开 home.html 1) 和没有空格,结果是一样的
  • 我相信您可能还在您的网址中使用了错误的斜杠。试试/home.html
  • 至于页面加载,我相信你误解了你在做什么。 document.getElementById("content").innerHTML= 正在用 id "content" 替换元素的内容。如果您想重定向页面,我会说尝试window.location.href = "http://stackoverflow.com";window.location.replace("http://stackoverflow.com"); (stackoverflow.com/questions/503093/…) 抱歉,听起来您正试图打开新页面的弹出窗口。
  • 1) 你是“该死”的权利,我对 windows 位置栏感到非常困惑。 2)我希望包含菜单栏的 index.html 在加载时加载它下面的 home.html 以保持在每个 html 文档中的相同位置。因为我想要一个静态菜单栏并在导航时将动画幻灯片效果应用于其他页面
  • 好的。我将“home.html”的正文更改为&lt;body min-width="1200px"&gt;,现在看起来它可以正常工作了。将 min-width 设置为 1200px 是否可以让我再次为别的事情而烦恼? ~ 标记为已解决
猜你喜欢
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-24
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
相关资源
最近更新 更多