2013-06-04 30 views
1

请原谅我在很多基础知识方面的欠缺,但我只是在学习如何在java中创建applet,以及如何允许applet和网页(javascript)之间的交互。什么是java和javascript交互的最佳方式?

目前我有一个init()和method1()的小程序。 method1()只是返回一个字符串。

小程序加载的网页上,并在JavaScript我从字面上引用该函数:

<html> 
<head> 
<title>Testing Applet</title> 
<script> 
function hello() { 

    result = document.wplayer.method1(); 
    alert(result); 

} 
</script> 

</head> 
<body> 
<applet code = "player.Player" name = "wplayer" archive = "player.jar" width = "600"  height = "400"> 

</applet> 

<button onClick="hello();">Interact with app</button> 

方法1()只返回一个字符串(“等等等等等等”);

我的问题是,这是一个安全的方式来做到这一点,它是最兼容的吗?

谢谢!

尼克

回答

1

这是一种安全的方式来做到这一点,是它最兼容?

这是唯一安全的,因为客户端是安全的,所以你应该假设客户端可以编辑/伪造/黑客等

如果您在其他意义上意味着安全 - 不会造成冲突 - 使用对象作为您的命名空间JavaScript并保留所有内容对象。通过这种方式,您不太可能在页面上其他地方发生冲突的变量名称时遇到问题。您也可以使用不引人注意的JavaScript,以保持脚本和HTML彼此独立。

当前,您的函数hello位于全局名称空间中,并且会创建一个全局的result,这可能会导致冲突。

假设客户有的Java和插件的启用了最新的副本,你才真正需要担心同样的兼容性问题编写任何正常的JavaScript任何浏览器时。

+0

请注意,您的_HTML_让我哭泣D:您的whitespacing背后有推理吗? –

+0

谢谢保罗。抱歉的空白,它发生在我粘贴代码时。 – Nick

+0

我肯定会开始练习不引人注目的JavaScript并将东西存储在对象中。这样,这将删除全局hello()和全局结果()。 非常感谢。 – Nick

相关问题