void Wt::WApplication::addMetaHeader |
( |
const std::string & |
name, |
const WString & |
content, |
||
const std::string & |
lang = "" |
||
) |
添加一個超文本标记语言(HTML)的元(meta)协议头(header)。
只有在以下的情况下才能添加元协议头:
•.如果使用的是一個纯(plain)的超文本标记语言会话(包括此时的访客是一個机器人的情况),那麽妳可以在任何时候添加元协议头。
•.或者,如果使用的是渐进式启动(progressive bootstrap),那麽妳可以在程序的构造函数(对应于最初的请求)里为任何类型的会话设置元协议头。
•.但是永远不要为一個处于Wt::WidgetSet 模式的程序设置元协议头,∵在那种情况下程序是被包含于另外一个网页里的。
如果曾经设置过名字(name)相同的某個协议头的话,原来的内容会被替换。
在WEnvironment::ajax()返回假(false)(参考environment())时,这些情况仍然有效(coincide with)。
Signal< std::string > & Wt::WApplication::internalPathChanged |
( |
) |
这个信号表明用户改变咯内部路径。
这个信号表明内部路径发生咯改变,通常是由于用户猛击咯浏览器的前进/后退按钮而导致的。
参数中包含咯新的内部路径。
参考:
注意:
内部路径是使 UTF8 用编码的(将来可能使用WString)。
void Wt::WApplication::setInternalPath |
( |
const std::string & |
path, |
bool |
emitChange = false |
||
) |
改变内部路径。
一个Wt 程序可能会处理多个虚拟路径。虚拟路径是附加在程序的URL之后的。依具体的情况而定,路径可能是直接附加在程序的URL 之后的,也可能是在中间先加上一个名字链接标记(#)的。
例如,如果一个程序部署在:
http://www.mydomain.com/stuff/app.wt
并且对它设置internalPath(内部路径)为"/project/z3cbc/details/"的话,那么两种形式的程序URL 分别是:
•.在一个AJAX 会话(HTML5)中:
http://www.mydomain.com/stuff/app.wt/project/z3cbc/details/
•.在一个AJAX 会话(HTML4)中:
http://www.mydomain.com/stuff/app.wt#/project/z3cbc/details/
•.在一个纯HTML 会话中:
http://www.mydomain.com/stuff/app.wt/project/z3cbc/details/
注意,从Wt 3.1.9开始,实际的URL 形式不再影响到对于相对路径(URL)的解析,因为Wt 现在包含咯一个HTML meta base 标记,它会指向部署路径,而与当前的内部路径无关。这会破坏使用反向代理部署的情况,因为反向代理会改变路径。
对于使用内置httpd 的情况,当程序是部署在某个目录(以'/'结尾)的时候,只有准确匹配的路径才会访问到那个程序(从Wt 3.1.9 开始,可以改变这一点,参考9.2 Built-in httpd),这就使得无法做出简洁(clean)的URLs。返回的URLs 会包含一个"?_=",它后面所指的就是内部路径:
http://www.mydomain.com/stuff/?_=/project/z3cbc/details/
当内部路径发生改变时,在浏览器的历史中就会加入一条记录。当用户在历史记录中前后导航(使用浏览器的后退/前进按钮)时,会发射一个internalPathChanged()事件信号。你应当监听这个信号,并且将程序切换到对应的状态。如果emitChange true 为,那么在设置路径时这个信号也会被发射。
可使用bookmarkUrl()来获取一个包含内部路径的url。
内部路径(internalPath)必须以'/'开始。这就确保咯你仍然可以在你的HTML 中使用普通链接锚点(anchors)。在浏览器中发动的不以'/'开头的内部路径会被无视。
参考:
bookmarkUrl(), internalPath(), internalPathChanged()
注意:
路径(path)应当以UTF8 编码(将来可能改用WString)。
void Wt::WApplication::useStyleSheet |
( |
const std::string & |
url ) |
添加一個外部的样式单。
部件们可能允许通过样式类来配置它们的观感。而这些东西可在内部或外部的样式单中定义。
url 指明的是样式单的相对或绝对路径。
外部样式单会被插入到内部样式单之后,∵会覆盖掉部件们在内部样式单中设置的默认样式。
参考:
styleSheet()、useStyleSheet(const std::string&, const std::string&)
HxLauncher: Launch Android applications by voice commands