如何从java代码调用window.atob()javascript函数?(How to call window.atob() javascript function from java code?)
我正在尝试使用犀牛。 我想从java代码中使用window.atob(param) javascript函数。 首先是可能吗? 这就是我的尝试。
ScriptEngine runtime = null;
try {
runtime = new ScriptEngineManager().getEngineByName("javascript");
runtime.put(
"str",
"PGh0bJvZHk+PC9odG1sPg==");
System.out.println((String)runtime.eval("window.atob(str)"));
} catch (Exception ex) {
ex.printStackTrace();
}
我收到以下异常。
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "window" is not defined
我知道我可以用java解码但是任何人都可以让我知道如何使用rhino做到这一点?
I am trying to use rhino. I want to use window.atob(param) javascript function from java code. First of all is it possible? This is what I have tried.
ScriptEngine runtime = null;
try {
runtime = new ScriptEngineManager().getEngineByName("javascript");
runtime.put(
"str",
"PGh0bJvZHk+PC9odG1sPg==");
System.out.println((String)runtime.eval("window.atob(str)"));
} catch (Exception ex) {
ex.printStackTrace();
}
I am getting the following exception.
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "window" is not defined
I know I can decode using java but can any one let me know how to do it using rhino?
原文:https://stackoverflow.com/questions/24738158
2019-11-17 07:11
满意答案
正如Vache所写, window对象仅存在于浏览器中。 但是,您可以使用env.js模拟浏览器。
加载此脚本后,您可以访问window对象。
As Vache wrote, the window object only exists in browsers. However, you can simulate a browser using env.js.
After loading this script, you get access to the window object.
2014-07-14
相关问答
atob()和btoa()方法允许作者将内容转换为base64编码。 在这些API中,对于助记符,“b”可以被认为代表“二进制”,“a”表示“ASCII”。 实际上,由于主要的历史原因,这些函数的输入和输出都是Unicode字符串。 来自: http : //www.w3.org/TR/html/webappapis.html#atob The atob() and btoa() methods allow authors to transform content to and from the ...
在JSInterface类中将“Context”更改为“Activity”。 检查以下编辑的代码.. public class JSInterface {
private Activity mContext;
public JSInterface(Activity c) {
mContext = c;
}
@JavascriptInterface
public void showToas...
您无法调用syncData()因为您尚未定义名为syncData的函数。 这(因为它不在对象文字定义中): syncData: function () {
alert("sync");
}
...是语法错误。 你应该有: function syncData () {
alert("sync");
}
或者,如果你真的想要一个函数表达式: var syncData = function () {
alert("sync");
}
You can't call syncD...
您的两个脚本都创建了YUI沙箱。 沙盒与另一个沙箱没有任何共享,所以你无法像这样实现单元测试demo() 。 你可以做的是在signup.js注册一个模块并在unittest.js 使用它。 请参阅以下示例: http : //jsfiddle.net/746nq/ 在signup.js ,创建模块: // Create a YUI module in signup.js.
YUI.add('signup', function (Y) {
// Write your module code ...
你可以使用base64Encode()函数,请参考[1]。
[1] https://docs.wso2.com/display/ESB490/XPath+Extension+Functions#XPathExtensionFunctions-base64Encode()function Y...
尝试 browser.execute("loadMap("+lat+","+lng+");");
您无需创建script标记来执行脚本。 只需执行实际的JavaScript代码即可。 请参阅此示例 。 Try browser.execute("loadMap("+lat+","+lng+");");
You don't need to create a script tag to execute the script. Just execute the actual JavaScript co...
我遇到了问题。 它应该有助于另一个用户保存图像并使用javascript(AnguarJs)压缩图像。 我正在流动此链接来压缩图像 Github https://github.com/oukan/angular-image-compress var imageData = $scope.image1.compressed.dataURL.toString();
var byteCharacters = atob(imageData.replace(/^data:image\/(png|jpeg|j...
不要在Nashorn和Java之间传递函数。 传递实现功能接口的对象。 我假设o.timer是用Java实现的。 在这种情况下,将其参数设置为Runnable (函数的通用函数接口,它不接受任何操作并且不返回任何内容)。 Nashorn将检测到Java需要一个功能接口,并且能够自动将该函数转换为实现该接口的匿名类,因此您无需更改Javascript代码中的任何内容即可实现此功能。 在Java代码中,您可以使用.run()执行该Runnable的脚本函数。 然后,javascript代码将在创建它的...
TL; DR原则上, escape() / unescape() 不是必需的 ,没有弃用函数的第二个版本是安全的,但它会生成更长的base64编码输出: console.log(decodeURIComponent(atob(btoa(encodeURIComponent("€uro"))))) console.log(decodeURIComponent(escape(atob(btoa(unescape(encodeURIComponent("€uro"))))))) 两者都创建了输出"€ur...
正如Vache所写, window对象仅存在于浏览器中。 但是,您可以使用env.js模拟浏览器。 加载此脚本后,您可以访问window对象。 As Vache wrote, the window object only exists in browsers. However, you can simulate a browser using env.js. After loading this script, you get access to the window object.
相关文章
<s:iterator value="list_latest_course"
...
以下是代码: #include<iostream>using namespace std
...
作者:李丽媛 联系方式:lly219#gmail.com 日 期:2010-2-26 前言
...
作者:李丽媛 联系方式:lly219#gmail.com 日 期:2010-2-26 前言
...
http://helephant.com/2012/07/14/javascript-function
...
CHAPTER 1 http://readanybooks.net/thrillers/TheDaVi
...
<html><head><script type="text/
...
2013.02.16<:article id=post_content> 最近看Dom X
...
对应js而言没有类的概念,只有对象的概念,对象创建基本认识:使用函数就可以创建对象。定义函数直接用fu
...
HTML代码: <!Doctype html><html lang="e
...
最新问答
如果启用了复制处理程序,请确保将其置于其中一个安全角色之后。 我见过人们做的另一件事是在不同的端口上运行admin。 最好在需要auth的页面上使用SSL,这样你就不会发送明确的密码,因此管理和复制将发生在8443上,而常规查询将在8080上发生。 如果您要签署自己的证书,请查看此有用的SO页面: 如何在特定连接上使用不同的证书? I didn't know that /admin was the context for SOLR admin because /admin does not re
第一:在您的样本中,您有: 但是你在询问 //td[@class=‘CarMiniProfile-TableHeader’] (注意TableHeader中的大写'T')。 xpath区分大小写。 第二:通过查询// td [@ class ='CarMiniProfile-TableHeader'] / td,你暗示你在外部td中有一个'td'元素,而它们是兄弟姐妹。 有很多方法可以在这里获得制作和模型
这是你的答案: http://jsfiddle.net/gPsdk/40/ .preloader-container { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #FFFFFF; z-index: 5; opacity: 1; -webkit-transition: all 500ms ease-out;
问题是,在启用Outlook库引用的情况下, olMailItem是一个保留常量,我认为当您将Dim olMailItem as Outlook.MailItem ,这不是问题,但是尝试设置变量会导致问题。 以下是完整的解释: 您已将olMailItem声明为对象变量。 在赋值语句的右侧,在将其值设置为对象的实例之前,您将引用此Object 。 这基本上是一个递归错误,因为你有对象试图自己分配自己。 还有另一个潜在的错误,如果之前已经分配了olMailItem ,这个语句会引发另一个错误(可能是
我建议使用wireshark http://www.wireshark.org/通过记录(“捕获”)设备可以看到的网络流量副本来“监听”网络上发生的对话。 当您开始捕获时,数据量似乎过大,但如果您能够发现任何看起来像您的SOAP消息的片段(应该很容易发现),那么您可以通过右键单击并选择来快速过滤到该对话'关注TCP Stream'。 然后,您可以在弹出窗口中查看您编写的SOAP服务与Silverlight客户端之间的整个对话。 如果一切正常,请关闭弹出窗口。 作为一个额外的好处,wireshar
Android默认情况下不提供TextView的合理结果。 您可以使用以下库并实现适当的aligntment。 https://github.com/navabi/JustifiedTextView Android Does not provide Justified aligntment of TextView By default. You can use following library and achieve proper aligntment. https://github.com/
你的代码适合我: class apples { public static void main(String args[]) { System.out.println("Hello World!"); } } 我将它下载到c:\ temp \ apples.java。 以下是我编译和运行的方式: C:\temp>javac -cp . apples.java C:\temp>dir apples Volume in drive C is HP_PAV
12个十六进制数字(带前导0x)表示48位。 那是256 TB的虚拟地址空间。 在AMD64上阅读wiki(我假设你在上面,对吗?)架构http://en.wikipedia.org/wiki/X86-64 12 hex digits (with leading 0x) mean 48 bits. That is 256 TB of virtual address space. Read wiki on AMD64 (I assume that you are on it, right?) ar
这将取决于你想要的。 对象有两种属性:类属性和实例属性。 类属性 类属性对于类的每个实例都是相同的对象。 class MyClass: class_attribute = [] 这里已经为类定义了MyClass.class_attribute ,您可以使用它。 如果您创建MyClass实例,则每个实例都可以访问相同的class_attribute 。 实例属性 instance属性仅在创建实例时可用,并且对于类的每个实例都是唯一的。 您只能在实例上使用它们。 在方法__init__中定