- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我今天看到一篇关于 Javascript_Java_Interaction 的文章:
http://www.rgagnon.com/javadetails/java-0184.html
[ You can try the working version on that site ]
So I tried it on my PC, after some simple format change the files look like this :
================================================== ===============================================
[C:/Dir_Fit/Javascript_Java_Interaction.html]
<FRAMESET ROWS="100%,*">
<FRAME NAME="mainFrame" SRC="Javascript_Java_Interaction_Visible_Page.html" border=0>
<FRAME NAME="scriptFrame" SRC="Javascript_Java_Interaction_Invisible_Page.html" border=0>
</FRAMESET>
--------------------------------------------------------------------------------------------
[C:/Dir_Fit/Javascript_Java_Interaction_Invisible_Page.html]
<HTML>
<HEAD>
<SCRIPT>
function replace(s,t,u)
{
i=s.indexOf(t);
r="";
if (i==-1) return s;
r+=s.substring(0,i)+u;
if (i+t.length<s.length) r+=replace(s.substring(i+t.length,s.length),t,u);
return r;
}
function getAndSendMessage()
{
theMessage=document.location.search.substring(1,255)
if (theMessage.length>0)
{
// replace all '+" by space
theMessage=replace(theMessage,'+',' ')
window.parent.mainFrame.showMessage(unescape(theMessage))
}
}
</SCRIPT>
</HEAD>
<BODY onLoad="getAndSendMessage();"></BODY>
</HTML>
-----------------------------------------------------------------------------------------
[C:/Dir_Fit/Javascript_Java_Interaction_Visible_Page.html]
<HTML>
<HEAD><SCRIPT>function showMessage(s) { alert(s) }</SCRIPT></HEAD>
<BODY>
<H1>Simple Java - Javascript interaction</H1><P>
<APPLET CODEBASE="file://C:/Dir_Fit/build/classes/" CODE="Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
</BODY>
</HTML>
-----------------------------------------------------------------------------------------
Source : [C:/Dir_Fit/src/Javascript_Java_Interaction_Demo.java]
class : [C:/Dir_Fit/build/classes/Javascript_Java_Interaction_Demo.class]
import java.applet.Applet;
import java.awt.*;
public class Javascript_Java_Interaction_Demo extends Applet
{
TextField aMessage;
Button sendButton;
public void init()
{
aMessage=new TextField(20);
add(aMessage);
sendButton=new Button("Send to Javascript");
add(sendButton);
}
public boolean action(Event e,Object o)
{
if (e.target.equals(sendButton))
{
try { getAppletContext().showDocument(new java.net.URL(getCodeBase(),"Javascript_Java_Interaction_Invisible_Page.html?"+java.net.URLEncoder.encode(aMessage.getText())),"scriptFrame"); }
catch (Exception ex) { ex.printStackTrace(); }
}
return true;
}
}
================================================== =============================================
它在页面 [Javascript_Java_Interaction.html] 上显示了小程序,但是如果我输入一些文本并单击按钮,则没有任何反应,问题出在以下行:
<APPLET CODEBASE="file://C:/Dir_Fit/build/classes/" CODE="Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
所以我将类文件复制到与html文件[C:/Dir_Fit/]相同的目录中,并将上面的行更改为:
<APPLET CODE="Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
现在它可以工作了,它将显示一个警报窗口。
所以,我的问题是为什么当我指定代码库时它不起作用?根据Java文档,如果类文件位于不同的目录中,您可以通过代码库告诉它,小程序会显示出来,但是如果您输入一些文本并单击按钮,则不会发生任何事情,我尝试了不同的方法来指定代码库:
<APPLET CODEBASE="file:///C:/Dir_Fit/build/classes/" CODE="Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
<APPLET CODEBASE="C:/Dir_Fit/build/classes/" CODE="Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
<APPLET CODEBASE="build/classes/" CODE="Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
<APPLET CODE="C:/Dir_Fit/build/classes/Javascript_Java_Interaction_Demo.class" WIDTH=150 HEIGHT=150></APPLET>
但是,它们都不起作用,为什么?我不希望类文件与 html 位于同一目录中。解决办法是什么?
弗兰克
最佳答案
这可能与 Java 6 Update 10 中所做的更改有关。发布后,我的小程序开始失败,并出现与浏览器无关的 ClassNotFoundExceptions - 奇怪的是,他们之前使用的是 6u7。首先,我想到了安装或配置的困惑,但后来其他人在他们的系统中也经历了同样的事情。
我的反复试验得到了与您观察到的结果完全相同的结果,即如果我指定了一个空的 codebase
属性,我的小程序就会失败。
(今天)谷歌搜索没有得出任何有意义的结果或发布的错误报告。我猜想代码库属性使用的规则在版本之间发生了变化 - 也许旧的限制不够严格或者不符合某些规范。
关于Javascript_Java_Interaction 小程序 "Codebase"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/988644/
我有一个适用于 32 位和 64 位架构的 COM 可见 dll,我用它来将菜单项添加到 Windows 资源管理器上下文菜单。使用“regasm myassembly.dll/codebase”我注
我正在尝试在 .Net 中动态创建程序集。但是,我似乎无法弄清楚如何让 CodeBase 属性返回一个值。这是一个例子: var assemblyName = new AssemblyName
我有一个用 C# 编写的 COM 可见 DLL,我想在 VB6 应用程序中使用它。我有 DLL 的两个主要用例,我想知道 /codebase 选项何时适用以及何时最好在 GAC 中注册。 用例: DL
如何使用codebase java属性将(Interface和Stub类)从服务器下载到客户端计算机,在java中RMI(远程方法调用)? 最佳答案 How to use the codebase j
我今天看到一篇关于 Javascript_Java_Interaction 的文章: http://www.rgagnon.com/javadetails/java-0184.html [ You
我有一个应用程序的工作 webstart 部署。 This post说我可以省略代码库参数。 The documentation表示代码库参数是可选的。 当我省略代码库参数或使用 codebase="
我正在使用 Java 安全策略,它对我来说仍然相当新。我希望能够直接作为启动配置运行代码,因此我有一个调试器和所有其他不错的 IDE 东西。 在策略中使用 codebase 属性之前,我可以让它正常工
CodeProject 有一个很棒的 Windows shell extension tutorial . 编译,运行Regasm.exe CSShellExtContextMenuHandler.d
我在内部自签名小程序上收到可怕的 LiveConnect 警告。我正在使用 Java 1.7.0_45。根据我读过的内容,我应该能够通过将 Caller-Allowable-Codebase * 添加
我有一个 webstart 应用程序,其中所有 jar 都已签名(我自己的和第三方的)。当使用 Java7u25 加载它时,我在 Java 控制台中看到如下错误消息: Missing Permissi
我们将 Cordova 与 AngularJS 一起用于 iOS 和 Android 应用程序。 iOS 的一大缺点是 Apple 的审核时间较长。在 Google 的 Playstore 中,您的应
我在签名的 Java 小程序中有以下 list 信息。我的构建环境很旧,目前仅限于 JDK 1.6。 Manifest-Version: 1.0 Implementation-Vendor: Foo,
我打算在我的 .NET 3.5 Windows 应用程序的 bin 文件夹以外的文件夹中保留几个 dll。我不确定如何使用代码库元素或探测元素来指定正确的路径。这就是我现在在 app.config 文
几天前,我不得不将 C++ 文件引入 Java 项目时遇到了一个问题。它首先需要测量 Java 进程的 CPU 使用率,然后决定采用 JNI 调用用 C 编写的 native 库(Unix 机器上的共
我有一个代码库,我想对其执行测试。除了程序的主要功能外,此代码库的其中一个文件还包含我要测试的代码。 当我将此文件添加到我的 CMakeLists 时,它会提示包含多个主要函数。 事情是这样的: 运行
我正在使用 rmi 开发 Twitter 之类的东西。我在 Windows 上工作,一切正常。 但是在 linux 上我有: java.rmi.UnmarshalException: error un
我有一个项目将模板存储在 DLL 和 EXE 旁边的 \Templates 文件夹中。 我想在运行时确定这个文件路径,但使用的技术既可以在单元测试中使用,也可以在生产中使用(而且我不想在 NUnit
从 Java 7u45 开始,如果网页尝试通过 javascript 与之交互并且该页面未在 list 的 Caller-Allowable-Codebase 属性中列出,则小程序将显示警告消息(即使
在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,SNS类应用就最长用到这个功能。而一般存储在数据库中的时间格式为 Un
我正在使用微软统一框架工作并收到此错误: ********** 4/15/2012 9:46:08 AM ********** Inner Exception Type: System.IO.File
我是一名优秀的程序员,十分优秀!