2

请原谅我在许多基础领域缺乏知识,但我只是在学习如何在 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>

method1() 只返回一个字符串 ("blah blah blah");

我的问题是,这是一种安全的方法吗?它是最兼容的吗?

谢谢!

缺口

4

1 回答 1

1

这是一种安全的方法吗?它是最兼容的吗?

它只有在客户端安全时才安全,因此您应该假设客户端可以编辑/伪造/破解等。

如果你的意思是从另一个意义上说是安全的——不会引起冲突——在JavaScript中使用Object作为命名空间,并将所有内容保存在该Object中。这样,您就不太可能在页面上的其他地方遇到任何冲突的变量名称的麻烦。您可能还想使用不显眼的 JavaScript来保持您的脚本和HTML彼此独立。

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

假设客户端启用了Java和插件的最新副本,您只需要担心与为任何浏览器编写任何普通JavaScript时相同的兼容性问题。

于 2013-06-04T15:07:09.303 回答