请问我用HTML嵌入两个HTML文件,如何让他们在同一行。就是平行显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问我用HTML嵌入两个HTML文件,如何让他们在同一行。就是平行显示相关的知识,希望对你有一定的参考价值。
<iframe src="flash1/flash1.html" frameborder="0" width="700" scrolling="no" height="260"></iframe>iframe src="flash2/flash2.html" frameborder="0" width="2150" scrolling="no" height="260"></iframe>我用iframe src嵌入两个html文件 如何能他们平行 也就是在同一条水平线上 代码要怎么写第二个老是在第一个的下面 求高手
你两个iframe的宽度之和太大了,超过了一般显示器的显示宽度,就会换行了,如果两个宽度小一些的iframe放在一起, 默认是不会产生换行的.如果你非要放在一行上面, 可以试试放在一个表格里同一行的两个单元格里. 参考技术A 大多数浏览器正常显示宽度在1024*768,所以网页宽度尽量不要超过1002
将两个框架的宽度调小,两者和小于1002即可平行 参考技术B 用INCLUDE
是否可以/如何在 JAR 中嵌入和访问 HTML 文件?
【中文标题】是否可以/如何在 JAR 中嵌入和访问 HTML 文件?【英文标题】:Is it possible/how to embed and access HTML Files in a JAR? 【发布时间】:2013-08-28 21:28:34 【问题描述】:我现在有点受阻:我编写了一个非常复杂的 Java 桌面应用程序(不是 Applet/Web 应用程序!),它有自己的“用户手册”。本手册包含一些 HTML 和 JPG 文件。本手册使用 JEditorPane 显示在我的应用程序的“帮助菜单”中。
到目前为止一切顺利。只要我用 Eclipse 启动程序,这就会很好地工作。一旦我将部署版本创建为可运行的 jar(使用 launch4j 包装到 .exe 中),HTML“查看器”就无法显示用户手册(图像丢失)。
我明白为什么会发生这种情况,但我不知道如何解决/规避这个问题。
我的应用程序通过 getClass().getResource() 加载其资源(属性文件、图标等)。例子:
this.setIconImage(new ImageIcon(getClass().getResource("/images/dialog-question.png")).getImage());
stream = new BufferedInputStream(MABIUpdater.class.getResourceAsStream("/settings.properties"));
就像我之前说的,这确实很好用(从 Eclipse 中启动应用程序,或者作为包装的可执行文件或 runnable-jar。
所以我也尝试像这样访问我的 HTML“手册”:
File manual = new File(getClass().getResource("/manual/help.html").toURI());
jEditorPane.setPage(manual.toURI().toURL());
这实际上不起作用。通过 Eclipse 启动程序我看到了手册但缺少图像。通过 jar/exe 启动它,我得到一个空框架。
那么有什么“诀窍”来实现这一目标吗? 我想一个问题是 HTML 页面本身,因为它无法访问该 jar 中的链接图像。 这是一个非常小的示例,一个 HTML 文件不起作用(缺少图像):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="de">
<head>
<title>Manual</title>
</head>
<body>
<h1>Example: </h1>
<p>fubar</p>
<img style="display: block; text-align: center;" src="../manual/img/Shot01.png" border="0" >
<p><a href=\"http://www.google.com/\">blablubb</a></p>
</body>
</html>
我希望我的问题很清楚,并且有人有想法;)。
编辑: 所有必需的 HTML 文件和图像都在 JAR 文件/类路径中。 (只是为了更清楚)
【问题讨论】:
【参考方案1】:一旦有了 URI,您就可以将其转换为文件,然后再转换为 URI,然后再转换为 URL。只需将 URI 转换为 URL,您可能会获得更好的成功
【讨论】:
【参考方案2】:File manual = new File(getClass().getResource("/manual/help.html").toURI());
这就是问题所在。 Java 无法从embedded-resource 创建File
对象
将其保留为URL
,并将其用于setPage(..)
。
至于更普遍的问题。
通过相对引用链接资源(例如 CSS 或图像)的 Jar 文件中的 HTML 可以正常工作。
例如
此示例从 Jar 加载 HTML(具有对图像的相对引用)。
import javax.swing.*;
import java.net.URL;
class ShowHtml
public static void main(String[] args)
final String address =
"jar:http://pscode.org/jh/hs/object.jar!/popup_contents.html";
SwingUtilities.invokeLater(new Runnable()
public void run()
try
URL url = new URL(address);
JEditorPane jep = new JEditorPane(url);
JFrame f = new JFrame("Show HTML in Jar");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new JScrollPane(jep));
f.pack();
f.setSize(400,300);
f.setLocationByPlatform(true);
f.setVisible(true);
catch(Exception e)
e.printStackTrace();
);
截图
HTML
正在加载的 HTML。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--
* Copyright (C) 1997 Sun Microsystems, Inc
* All rights reserved.
* Notice of copyright on this source code
* product does not indicate publication.
*
* RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by
* the U.S. Government is subject to restrictions as set forth
* in subparagraph (c)(1)(ii) of the Rights in Technical Data
* and Computer Software Clause at DFARS 252.227-7013 (Oct. 1988)
* and FAR 52.227-19 (c) (June 1987).
*
* Sun Microsystems, Inc., 2550 Garcia Avenue,
* Mountain View, California 94043.
*
-->
<HTML>
<HEAD>
<TITLE>
Editing Project Attributes
</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff">
<IMG SRC="images/popup_icon.gif" > <b>Popup Window</b>
<p>
Popup windows appear near the location from which they are
activated. They are not contained in frames and thus
cannot be resized or moved by the user. Popups are
dismissed by clicking anywhere in the help viewer.
<p>
Popup windows can be activated by clicking on a text object,
graphic object, or JComponent button. All three examples are
included in this demo.
<p>
<A HREF="popup_contents2.html">More...</A>
</body>
</html>
例如2
对于动态创建的 HTML,JRE可能使用类文件的位置作为 HTML 的假定位置。但是为了消除所有疑问,我们可以在head
中指定base
元素。
import javax.swing.*;
class HtmlUsingBase
public static void main(String[] args)
final String htmlContent =
"<html>" +
"<head>" +
"<base href='http://www.gravatar.com/'>" +
"</head>" +
"<body>" +
"<h1>Image path from BASE</h1>" +
"<img src='avatar/a1ab0af4997654345d7a9" +
"49877f8037e?s=128&d=identicon&r=PG'" +
" width='128' height='128'>" +
"</body>" +
"</html>";
SwingUtilities.invokeLater(new Runnable()
public void run()
JLabel label = new JLabel(htmlContent);
JOptionPane.showMessageDialog(null, label);
);
截图
【讨论】:
哇,这很快,非常感谢,伙计们!两个答案都帮了我很多/解决了这个问题,但安德鲁汤普森的一个更详细,所以我选择了他的答案。不能投票,但因为我是新来的:(。 很高兴我能帮上忙。 :)以上是关于请问我用HTML嵌入两个HTML文件,如何让他们在同一行。就是平行显示的主要内容,如果未能解决你的问题,请参考以下文章
如何让python嵌入html实现类似php的快速开发,十分有价值