我的this应用程序的结构如下:
具有n个链接和选项卡式结构的主页
每个链接在主页的选项卡式结构中打开一个选项卡,并使用ajax将页面加载到该选项卡中
因为每个页面需要不同的javascript函数(主要用于初始化部分),所以在ajax load的完整函数中,我加载并执行.js脚本。
现在我遇到了一个问题:我需要在这些选项卡中有一个文本编辑器,所以我选择了TinyMCE。它需要初始化,但只需要初始化一次,否则它将崩溃。现在,我需要一种方法来检查用户打开选项卡的次数。
我在jsps中寻找变量作用域,找到了“会话作用域”。我知道服务器端的会话变量不能从客户端访问,但是jsp中的这些会话范围变量是客户端的,所以我想我应该使用一个会话变量jsp端来计算用户点击链接的次数。
在主jsp中,我放入:
<c:set var="timesEditorLoaded" value="0" scope="session" />打开编辑器的链接是:
<a tabindex="22" id="proposte_propostaTesto_a" class="colorbox" href="${pageContext.request.contextPath}/editorPopup?hiddenCallerFormElementId=proposte_propostaTesto&" onClick="incrementEditorVariable();">Apri editor</a>函数incrementEditorVariable()是:
<script type="text/javascript">
function incrementEditorVariable()
{
alert("incrementEditorVariable: " + timesEditorLoaded);
timesEditorLoaded = timesEditorLoaded + 1;
}
</script>但在Chrome中,我得到了:
Uncaught ReferenceError: incrementEditorVariable is not defined如果我将函数incrementEditorVariable放在外部.js文件中,如何访问存储在jsp中的会话变量?有没有办法做到这一点?提前谢谢你!
发布于 2011-11-29 18:27:18
我最终在MVC架构中添加了一个会话变量,并完成了这项任务。我这样做是为了修复一个bug,我完成了计算用户点击链接的次数,以防止初始化n次TinyMCE实例,但这并没有解决菜单保持打开的问题。
发布于 2011-10-19 20:13:04
您可以在用户单击按钮时修改onclick事件。看起来有点糟糕,但如果onclick只关心一件事,它可以解决所有问题。
https://stackoverflow.com/questions/7821053
复制相似问题