2

我有一个脚本在托管在服务器上并在浏览器中访问时可以完美运行。该脚本包含 PHP、html、javascript 和 jsoup.jar 组件。我的机器上有 Java 并且脚本运行良好,如前所述,当在浏览器中访问时,只要将网站 URL 添加到 Java 的异常中。

但是,我希望使用 PHP 桌面 ( https://github.com/cztomczak/phpdesktop )将脚本编译成独立的 Windows 桌面应用程序,但立即遇到了一些错误/错误。

第一个是 ActiveX 错误,如下所示:

在此处输入图像描述

单击“确定”并尝试运行脚本后,我从使用 PHP 桌面编译的 MSIE 浏览器对象中收到错误消息:“行:22 错误:对象不支持属性或方法 'schedule_call';URL:http://127.0.0.1:49240/parse.js "

就是这样。然后脚本重定向到错误页面而不运行。

我曾尝试更改计算机上 Internet Explorer 默认安装中的安全设置,但我认为这对 PHP Desktop 中的独立浏览器没有任何影响。

知道问题可能是什么吗?

PHP Desktop 本身的调试输出如下:

  • 03:29:50.063 信息:已启动应用程序
  • 03:29:50.063 信息:登录到:C:\Users\homecomp\Desktop\MyApp\phpdesktop-msie-1.14-php-5.4.33\debug.log
  • 03:29:50.063 信息:日志级别 = DEBUG4
  • 03:29:50.063 信息:启动 Mongoose 3.9c Web 服务器
  • 03:29:50.063 信息:WWW 目录:C:\Users\homecomp\Desktop\MyApp\phpdesktop-msie-1.14-php-5.4.33\www
  • 03:29:50.063 信息:索引文件:index.html,index.php
  • 03:29:50.063 信息:CGI 解释器:C:\Users\homecomp\Desktop\MyApp\phpdesktop-msie-1.14-php-5.4.33\php\php-cgi.exe
  • 03:29:50.063 信息:CGI 模式:**.php$
  • 03:29:50.063 信息:CGI 环境变量集:TMP=C:\Users\homecomp\AppData\Local\Temp\,TEMP=C:\Users\homecomp\AppData\Local\Temp\,TMPDIR=C:\Users \homecomp\AppData\Local\Temp\,SERVER_NAME=127.0.0.1,PHPDESKTOP_VERSION=1.14
  • 03:29:50.063 信息:Web 服务器网址:http: //127.0.0.1 :49240/
  • 03:29:50.063 信息:来自注册表的 IE 版本:9.11.14393.0
  • 03:29:50.079 调试:FEATURE_XMLHTTP 成功:1
  • 03:29:50.079 调试:FEATURE_WINDOW_RESTRICTIONS 成功:1
  • 03:29:50.079 调试:FEATURE_WEBOC_POPUPMANAGEMENT 成功:1
  • 03:29:50.079 调试:FEATURE_RESTRICT_ACTIVEXINSTALL 成功:1
  • 03:29:50.079 调试:FEATURE_RESTRICT_FILEDOWNLOAD 成功:1
  • 03:29:50.079 调试:FEATURE_DISABLE_NAVIGATION_SOUNDS 成功:1
  • 03:29:50.079 调试:FEATURE_FORCE_ADDR_AND_STATUS 成功:1
  • 03:29:50.079 调试:FEATURE_BEHAVIORS 成功:1
  • 03:29:50.079 调试:FEATURE_UNC_SAVEDFILECHECK 成功:1
  • 03:29:50.079 调试:FEATURE_BLOCK_INPUT_PROMPTS 成功:1
  • 03:29:50.079 调试:FEATURE_TABBED_BROWSING 成功:1
  • 03:29:50.094 调试:FEATURE_ADDON_MANAGEMENT 成功:1
  • 03:29:50.094 调试:GetBrowserWindow():未找到,hwnd = 132934
  • 03:29:50.094 调试:WindowProc():事件 WM_GETMINMAXINFO:无法获取 BrowserWindow
  • 03:29:50.094调试:BrowserWindow():parentHandle = 0
  • 03:29:50.110 调试:OleClientSite::QueryInterface():IServiceProvider
  • 03:29:50.110 调试:OleClientSite::QueryInterface():IOleInPlaceSite
  • 03:29:50.110 调试:OleClientSite::QueryInterface():IDispatch
  • 03:29:50.125 调试:GetBrowserWindow():未找到,hwnd = 132934
  • 03:29:50.125调试:WindowProc():事件WM_SETFOCUS:无法获取BrowserWindow
  • 03:29:50.125 调试:OleClientSite::QueryInterface(): IUnknown
  • 03:29:50.125 调试:OleClientSite::QueryInterface():DWebBrowserEvents2
  • 03:29:50.125 调试:OleClientSite::QueryInterface():IDocHostUIHandler
  • 03:29:50.125 调试:OleClientSite::QueryInterface():IDocHostShowUI
  • 03:29:50.172 调试:StoreBrowserWindow():hwnd = 132934
  • 03:29:50.188 信息:获得 200 /
  • 03:29:50.188 调试:DISPID_AMBIENT_DLCONTROL
  • 03:29:50.188 调试:DocHostUiHandler::GetOptionKeyPath():注册表路径:Software\PHP Desktop\MSIE
  • 03:29:50.219 信息:获取 200 /style.css
  • 03:29:50.235 信息:获取 200 /parse.js
  • 03:29:51.422 信息:获取 404 /csshover.htc
  • 03:29:51.454 信息:获取 404 /csshover.htc
  • 03:29:51.454 信息:获取 404 /images/headerbg.jpg
  • 03:37:51.344 信息:发布 404 /search.php
  • 03:37:51.344 调试:BrowserEvents2::NavigateError()
  • 03:37:51.344 警告:BrowserWindow::DisplayErrorPage() 失败:找不到文件:C:\Users\homecomp\Desktop\MyApp\phpdesktop-msie-1.14-php-5.4.33\www_error-page.html
4

1 回答 1

0

不应出现 ActiveX 错误,因为应该对运行脚本没有限制。但是 phpdesktop MSIE 在 Win XP 至 Win 7 上进行了测试,您似乎正在运行 Win 10。看起来微软引入了一些需要设置的新设置,以摆脱嵌入式 IE 浏览器的新限制。

关于后面出现的js错误,为了摆脱它,可以尝试通过设置一些注册表项来嵌入较新版本的IE 。

于 2016-10-11T06:18:35.897 回答