草庐IT

v8-shell

全部标签

javascript - 在浏览器中创建 bash shell 的可行性如何?

主要是,我是Unix机器上的C/C++程序员...但我会为基于浏览器的shell访问linux机器而杀...因此,问题是:它有多难,什么方法最适合在网页中构建真正的shell级别访问?闪光?Javascript?我知道这真的是所有人的意见,但我很好奇人们是否认为这可能实现? 最佳答案 有一些脚本可以做到这一点:http://antony.lesuisse.org/software/ajaxterm/http://anyterm.org/index.htmlhttp://www-personal.umich.edu/~mressl/w

javascript - 权限被 shell.application 拒绝

我有以下javascript代码来运行notepade.exe:functionexecuteCommands(){varoShell=newActiveXObject("Shell.Application");varcommandtoRun="C:\WINDOWS\notepad.exe";oShell.ShellExecute(commandtoRun,"","","open","1");}问题是,当我运行脚本时出现错误...“权限被拒绝。”谁能帮我解决这个问题? 最佳答案 有必要开启两个设置。为当前区域启用未签名的Active

javascript - 从 v8 shell 使用 stringify

我正在创建一个基于v8shell的控制台,我采用了v8附带的示例代码并且它运行良好,但我正在尝试将v8::object转换为它的字符串版本(json)但是没有找到办法。这是我在shell.cc中的示例代码:v8::Handletest(constv8::Arguments&args){v8::HandleScopehandle_scope;constchar*json;v8::String::Utf8ValuestrJson(args[0]);printf(ToCString(json));if(args[0]->IsObject()){printf("it'sanobject\n")

javascript - 如何禁用 V8 的优化编译器

我正在编写一个恒定时间的字符串比较函数(用于node.js),并且想为这个单一函数禁用V8的优化编译器;使用命令行标志是不可能的。我知道使用with{}(或try/catch)block将禁用优化编译器现在,但我担心这个“功能”(bug)将在未来的版本中修复。是否有一种不可变的(并记录在案的)方法来禁用V8的优化编译器?示例函数:functionconstantTimeStringCompare(a,b){//Byaddinga`with`blockhere,wedisablev8'soptimizingcompiler.//UsingObject.create(null)ensure

javascript - 同步子进程调用 Node.js 0.10.x 中的 shell 脚本(包括 CLI)

同步子进程调用arenowavailable在正在开发的Node.js版本中(即不稳定)。这对于编写shell脚本来说是个好消息,因为它将允许这样的代码:varhistory=child_process.execSync('gitlog',{encoding:'utf8'});process.stdout.write(history);但是,对于针对当前稳定版本的Node.js(v0.10.30)的代码,同步子进程调用是notavailable除了通过外部库。两个最受欢迎的此类库似乎是shelljs和exec-sync.对于打算与v0.10.x一起使用并且必须调用二进制文件或其他可执行

javascript - 使用 Google Chrome (V8) 时,Javascript 可以被视为一种解释型语言吗?

我正在阅读这篇关于V8的优秀文章,Google的Javascript引擎:https://developers.google.com/v8/design#mach_code.有一次,他们说Javascript直接编译成机器语言,没有任何字节码或解释器。引用:V8compilesJavaScriptsourcecodedirectlyintomachinecodewhenitisfirstexecuted.Therearenointermediatebytecodes,nointerpreter.那么,为什么Javascript仍然与“脚本”和“解释”语言一起列出,虽然它已明确编译(至少

javascript - nodejs/V8 是否将编译后的机器代码存储在磁盘上的任何位置?

编辑:自Node8.3起,Node使用字节码,在此之前,源代码直接编译为机器码。我做了很多Python编码,.pyc文件中总是有字节码。我想知道Node是否将其机器代码存储在类似的文件中,例如,将机器代码表示形式保留在磁盘上并在文件源未更改的情况下重新使用它是否有意义。如果是这样,node/v8将机器代码存储在哪里?编辑2:正如@dystroy在下面提到的,这是对HowcanIseethemachinecodegeneratedbyv8?的欺骗。 最佳答案 V8在2016年引入了字节码解释器Ignition。您可以使用--print

javascript - 如何配置 IE 使 "wscript.shell"工作

我有一些曾经有效的代码。但是我今天再试一次。我一直收到“[对象错误]”。我以为是IE安全配置的问题。但我可以找到如何配置IE以使其工作。functionRun(){try{varobjShell=newActiveXObject("wscript.shell");objShell.Run("calc");}catch(e){alert(e);}} 最佳答案 您必须启用ActiveX:点击工具选择Internet选项...选择安全标签。在Web内容区域中选择Internet。然后,点击自定义级别...浏览那里的所有ActiveX设置,

javascript - V8 Javascript 堆转储模式

我正在尝试了解由googlechrome工具生成的堆转储的内容。我知道已经有一个浏览器内堆转储检查器,但我有兴趣编写一个解析JS堆转储的CLI作为练习。我无法找到有关堆转储内容结构的任何文档。它们是人类可读的,但从检查文件来看格式不是很清楚这是一个随机片段:"HTMLOptionElement","XMLHttpRequestEventTarget","about:blank","clearModifier","resetModifiers","/devtools/docs/demos/memory/example1","HTMLIFrameElement","https://www.

javascript - 属于单个隔离的多个 V8 上下文对象之间的共享/离散是什么?

我理解v8::Isolate的概念,并且我理解运行的所有内容都在与隔离关联的v8::Context中运行。与不同isolate关联的上下文不能共享任何内容。我的问题是,在单个隔离中有多个上下文是什么意思?上下文之间共享什么?它们之间有什么离散的?你什么时候可以在一个中制作一些东西并在另一个中使用它?通常在API中,如果某些东西在创建它时采用隔离或上下文,这似乎几乎是任意的。此外,欢迎就单个隔离中的多个上下文的用例提出任何建议,以帮助我开始更好地理解它们。我看到这个问题:Whatexactlyisthedifferencebetweenv8::Isolateandv8::Context?