如何将HTML嵌入到HTML中
这里已经有很多资源,但我似乎无法让它工作。我究竟做错了什么?该jar文件是:如何将HTML嵌入到HTML中
http://www.alexandertechniqueatlantic.ca/multimedia/AT-web-presentation-imp.jar
,我使用到嵌入的代码是:
<APPLET ARCHIVE="multimedia/AT-web-presentation-imp.jar"
CODE="ImpViewer.class"
WIDTH=100%
HEIGHT=100%>
</APPLET>
我使用的测试页是在:
http://www.alexandertechniqueatlantic.ca/test.php
当我下载jar时,它运行良好,所以我确定这个问题只存在于html嵌入中。请帮忙!
另外,我得到以下错误:
java.lang.ClassCastException: ImpViewer cannot be cast to java.applet.Applet
java.lang.ClassCastException: ImpViewer cannot be cast to java.applet.Applet
的 '小程序' 是不是的小程序。
顺便说一句 - 很好的用户界面。就像红色闪屏淡入“欢迎入门研讨会”页面一样。非常光滑。
从链接使用Java Web Start(&请不要试图将这样漂亮的UI填充到网页中)启动它。
如果客户坚持在GUI上被塞进了一个网站,然后(他们就打我&)尝试这种破解。
/*
<APPLET
ARCHIVE="AT-web-presentation-imp.jar"
CODE="ImpViewerApplet"
WIDTH=720
HEIGHT=564>
</APPLET>
*/
import java.awt.*;
import java.applet.*;
import java.util.*;
public class ImpViewerApplet extends Applet {
public void init() {
setLayout(new BorderLayout());
Window[] all = Window.getWindows();
ArrayList<Window> allList = new ArrayList<Window>();
for (Window window : all) {
allList.add(window);
}
String[] args = {};
ImpViewer iv = new ImpViewer();
iv.main(args);
all = Window.getWindows();
for (Window window : all) {
if (!allList.contains(window) && window.isVisible()) {
if (window instanceof Frame) {
Frame f = (Frame)window;
Component[] allComp = f.getComponents();
Component c = f.getComponents()[0];
f.remove(c);
f.setVisible(false);
add(c);
validate();
}
}
}
}
}
重点是“黑客”这个词。
-
Frame
将在消失前闪烁到屏幕上。 - 它只能在720x564 px下工作,不像
java.awt.Frame
,它可以调整到任意大小。但是,无论如何,你的'100%'的宽度/高度是有点乐观的。有些浏览器会遵守这些限制,其他浏览器则不会。
嗨安德鲁,谢谢补充,我没有写UI,它是由我的客户交给我的。他只是想把它塞进一个网站,所以这不是我的地方说不。反正有可能吗? – Bill
查看更新。 –
它采取了一些努力,但你的ImpViewer类的定义如下:
public class ImpViewer extends ImWindow
implements Printable, Runnable
{
[...]
ImpViewer不是Applet
喜欢它需要的,但不是一个ImWindow
。它应该继承于Applet
或者ImApplet
。
无论如何,安德鲁斯使用Java Web Start的想法是合理的。你有的应用程序看起来更像是一个桌面应用程序。
你可以在我的老学生网站看到一个Java Web Start的例子:[Sam's Tetris Page](http://students.cs.byu.edu/~samuelms/applets/tetris.php)。请参阅[使用Java WebStart运行Tetris Applet](http://students.cs.byu.edu/~samuelms/applets/tetris/tetris.jnlp)链接。这只是给你一个用户体验会是什么样子的例子。 – Sam
好的,我会告诉我的客户使用JavaWS。感谢您的信息。 – Bill
尽管在上面的编辑中包含了“在applet黑客中推送”,但我强烈建议您采用JWS方法。 –
Applet
是一个Java组件,可处理显示嵌入网页中的正确调用。您拥有的产品(JAR文件)包含运行该程序所需的所有内容;但是,它并没有正确的界面(applet)来运行嵌入在网页中的程序。
与产品作者交流(如果该作者不可用,请查找文档)并查看是否有applet界面可用。也许这只是一个使用不同类名的问题。如果看起来这样的界面不可用,那么没有人完成必要的工作来使其“可嵌入”在网页中。如果不能更详细地了解您的产品,那么确定是否轻松地创建Applet界面到产品中的努力并不容易。
如果您没有源代码,那么为开发Applet界面所付出的努力量要比源代码所花费的努力量要大得多。
有一些产品确实允许从Web浏览器查看和控制应用程序,即使有问题的应用程序没有被设计为嵌入到网页中。这些产品往往是昂贵的和专有的;但是,如果它确实是关键任务(如果它足够的话),那么费用和努力就可以承受了。使用这种解决方案,Web浏览器实际上会打开一个窗口,进入配置的“应用程序服务器”,每次建立连接时都会以全屏模式启动应用程序。是的,这是一个奇怪的建筑;然而,这种奇怪的架构是有目的地存在的,因为当应用程序无法在其他环境中运行时,这是真正实现某些功能的唯一方式。
在您可以负担得起的情况下,请向思杰寻求解决方案(请记住还有额外的Windows许可证),您可以容忍它的性能和怪癖。
+1也许谁给了这个用户可以使它与applet兼容。看起来应用程序是由“FACULTY-PC DAL”的“Impatica for PowerPoint 4.0”制作的。另外,显然'com.impatica.v402.ImPlayer.class'扩展了Applet。但是,我无法得到任何事情发生。 :( – Sam
ImpViewer继承自什么?你能包括它的类定义吗? – Sam
嗨,山姆,我不知道,我拿到没有源代码。这不是从Applet继承的,这是肯定的!无论如何将它塞进一个没有它的网站? – Bill