我试图从Servlet代码访问JavaScript函数。但是我得到下面显示的错误。 下面是代码:从Java访问Javascript
out.println("<FRAME src=\"javascript:parent.newWindow('" + URL+ "') \" scrolling=No noresize />");
而这是一种发生在JavaScript中的错误:
对象不支持此属性或方法;
我试图从Servlet代码访问JavaScript函数。但是我得到下面显示的错误。 下面是代码:从Java访问Javascript
out.println("<FRAME src=\"javascript:parent.newWindow('" + URL+ "') \" scrolling=No noresize />");
而这是一种发生在JavaScript中的错误:
对象不支持此属性或方法;
您无法从您的servlet代码访问Javascript函数。 Javascript在客户端(=您的用户的浏览器)上执行,servlet代码在您的服务器上执行(例如Tomcat,JBoss,无论您使用什么)。
你想用你的代码完成什么?我确信有一个比你刚刚描述的更简单的方法。
[编辑]
我看你刚刚更新了你的描述,所以这里是我的观点:
我猜你想显示页面给用户,并在显示页面,您想要打开一个新窗口,该窗口将使用URL参数指示其地址来显示另一个页面。如果是这种情况,您应该在第一页的onLoad() Javascript事件中使用window.open()来做到这一点。
是的。你是对的。我需要使用此方法提交发布请求。但window.open默认触发GET方法。那么,有没有其他方法可以做到这一点? – Suki 2011-06-07 11:54:43
@Suki如果你真的需要显示一个页面,它会自动提交一个窗体到一个弹出窗口,它可以使用JavaScript来完成,但我认为它看起来过于复杂。也许如果你会告诉我们你的用例是什么,那么我们可以更好地帮助你找到正确的解决方案。我很难相信你会从这种方式建设中受益。 – deltaforce2 2011-06-07 12:45:02
window
对象(这是parent
引用的对象)上没有newWindow
属性,所以这并不意外。
也许您正在寻找open
方法?
如果是这样的话:
好。您尝试在Servlet代码中生成JavaScript代码。当你这样做的时候,你的代码会转到Web浏览器,并在那里被看作是一个带有JavaScript的html文档。所以,你的错误来自网络浏览器,并链接到JavaScript错误。可能它是newWindow方法。为了打开新窗口,我应该调用window.open()函数。
什么是“out”? – 2011-06-07 10:35:50
你确定你尝试从Servlet代码访问Javascript函数吗?也许你尝试在Servlet代码中生成Javascript函数? – 2011-06-07 10:36:49