我想在我编写代码的应用程序中显示浏览器控件
if (iBrCtlInterface == NULL)
{
TRect rect(Position(), Size());
iBrCtlInterface = CreateBrowserControlL( this,
rect,
TBrCtlDefs::ECapabilityDisplayScrollBar | TBrCtlDefs::ECapabilityLoadHttpFw,
iCommandBase,
NULL,
NULL,
NULL,
NULL,
NULL);
}
_LIT(KUrl, "file://BrCtlSampleApp/sample1.htm");
iBrCtlInterface->LoadUrlL( KUrl );
在 E32、E63 设备上运行良好,但在 N73 设备上运行不正常
我不明白,因为它受第 3 版 N73 设备上未显示的第 2 个 fp3 的支持
如果有人遇到同样的问题请告诉我
我已经从 SDK 示例 BrCtlSampleApp
中实现了这段代码,它也不适用于 N73 设备
提前致谢。
最佳答案
我相信 URL 格式才是罪魁祸首。您需要一个额外的 /
和 file:
url scheme,并且所有这些正斜杠都需要转换为反斜杠,如下所示:
_LIT(KUrl,"file:///\\BrCtlSampleApp\sample1.htm");
这仍然是一个相对路径,我建议您指定一个完整的 URI,如下所示:
_LIT(KUrl, "file:///C:\\BrCtrlSampleApp\\sample1.htm");
要获取安装您的应用程序的驱动器,请使用 Application()->AppFullName()
,从您用于实现 CAknAppUi
或 (CxxxAppUi)
。
AppFullName()
返回应用程序安装位置的完整路径。一旦您获得了安装路径,提取驱动器号和创建绝对 URI 应该是微不足道的。
关于c++ - 浏览器问题symbian,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2927202/