Qt.openUrlExternally()有时适用于Symbian ^ 3,有时不适用,为什么会这样?

时间:2011-08-09 14:33:40

标签: qt symbian qml qt-quick

我在Symbian ^ 3上遇到Qt.openUrlExternally有些困难。有时候它有效,有时候没有,我找不到任何模式。

另一位用户似乎遇到了同样的问题here

当它不起作用时,实际行为是Web浏览器打开,短暂到达前景(几秒钟),然后转到后台。它仍处于打开状态,但URL未加载。

Qt.openUrlExternally("http://www.stackoverflow.com") 有效

Qt.openUrlExternally("http://twitter.com/share?text=ZOMG") 失败。我最初得出结论,这意味着任何带有?的网址都不起作用,但这是错误的,因为......

Qt.openUrlExternally("http://twitter.com/intent/tweet?text=ZOMG") 有效。但是,它似乎仅用于一个词,因为:

Qt.openUrlExternally("http://twitter.com/intent/tweet?text=Will%20this%20work") 失败

有没有人遇到过类似的问题(特别是我猜想将任意文本发送到Twitter),他们对此做了什么?

1 个答案:

答案 0 :(得分:0)

好的,在Qt forum上有结果。 Qt.openUrlExternally似乎不喜欢包含%20的网址作为转义空间。 +有效。 (这引起了我的注意,我上面的第二个断言是错误的,http://twitter.com/share?text=ZOMG确实有效)。

解决方案似乎是通过Javascript的encodeURIComponent()函数传递URI参数,并用%20替换所有生成的+