我需要使用lightweight php framework with jquery,即ATK4来获取浏览器的窗口高度和宽度
要获取此内容的javascript应为
$(window).height();
$(window).width();由于agiletoolkit与jquery集成在一起,我认为应该可以用下面这样的东西来获得它
$height=$p->js()->univ()->_selectorWindow()->height();但是这并不起作用,相反,当我传递要使用的$height变量时,在HTML源中我得到了以下结果。
'height':$(window).univ().height(),'width':$(window).univ().width()并且它根本不显示该元素
我希望能够调用jqplot来将图形的宽度设置为特定页面上用户浏览器的全宽。为此,我需要传递一个参数width:NNN,其中NNN是像素数。据我所知,jqplot不支持参数作为百分比,所以我不能说宽度:100%。此外,如果我在页面上设置div并添加图形,它也会忽略div的大小,只创建一个400x300像素的小图形。
我创建了一个插件来使用atk4中的jqplot,但这仍然是我需要解决的问题之一。我可以传递一个高度和宽度作为参数,没有问题,但如果没有指定参数,我希望它默认为全屏大小。
有谁能推荐正确的语法来获取这些值吗?蒂娅。
发布于 2011-09-17 16:11:50
你应该明白的是,"$p->js()->_selectorWindow()->height();“实际上会被翻译成"$( window ).height();”--但是你只能在客户端得到窗口的宽度。
所以,如果你想在你的代码中获得窗口的高度,你只能通过使用ajax请求来实现,它的实际高度是从前台发回的。
请重新表述您的问题,以便清楚您需要身高的原因,这样我就可以提出最佳的解决方法。
后端和前端互通的示例:
将其粘贴到page/test.php中并打开http://example/test查看实际操作
class page_test extends Page {
function init(){
parent::init();
$b=$this->add("Button");
$b->set("Get Width");
$b->js("click")->univ()->ajaxec($this->api->getDestinationURL(), array("width" => $this->js(true)->_selectorWindow()->width()));
$v=$this->add("View_HtmlElement")->setElement("div")->set("Click button to get width of the window");
if ($w = $_POST["width"]){
$v->js(null, $v->js()->html("Width: " . $w))->univ()->alert("Width: " . $w)->execute();
}
}
}https://stackoverflow.com/questions/7452047
复制相似问题