我的场景是使用javascript获取窗口高度,并且必须将值传递给coldfusion变量并将值设置为cfm页面中的vlc播放器。
$(window).height()
我很清楚如何将客户端变量发送到服务器端的方式如下:
但如果从上面申请任何人,我必须
传递所有页面默认变量和高度,但我不想发送其他变量,现在我的获取高度的逻辑介于Cfinclude
之一。
我工作的页面是众多内容中的一个,所以请提供一些想法。
情况下:
A.cfm
var javaScritheight = 1200;
B.cfm
<cfinclude template ="B.cfm?width="100%"&height=#javaScritheight#">
<cfparams name="width" default="240">
<cfparams name="height" default="360">
<video id="player" width="#width#" height="#height#">URL</video>
我应该通过cfinclude将javascript变量传递给另一个coldfusion页面。是否有可能或者我误解了冷血功能?请分享你的想法。
答案 0 :(得分:0)
之前我已经这样做了,在cfgrid中设置宽度。这是一个例子。所以你只需要用高度替换宽度。
1)在某些页面上,在我的情况下,当用户登录CMS时,设置一个cookie。
Result = '$_',
2)在页面加载(onRequestStart)上查找cookie,如果我们还不知道宽度的话。如果出现一些javascript问题,也会设置默认值。
<script type="text/javascript">
function createCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
} else var expires = "";
document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}
$(document).ready(function(){
createCookie("bodyWidth", $(document).width()-20, 14);
});
</script>
3)稍后在CF中使用该会话变量。无需将其传递给包含路径名称。
<!--- GRID WIDTHS --->
<cfif not isDefined("session.bodyWidth")>
<cfif isDefined("cookie.bodyWidth")>
<cfset session.bodyWidth = cookie.bodyWidth>
<cfelse>
<cfset session.bodyWidth = 1067>
</cfif>
</cfif>
这里只是一个注释。可以增强步骤2,以便如果用户更改其窗口大小,则会话var更新。