找回密码
 立即注册

QQ登录

只需一步,快速开始

bianzhong

初级会员

8

主题

51

帖子

319

积分

初级会员

积分
319
bianzhong
初级会员   /  发表于:2024-8-5 11:47  /   查看:889  /  回复:6
10金币
本帖最后由 bianzhong 于 2024-8-5 15:36 编辑

问题描述:
我在页面加载命令——javascript命令中加入了代码:
$(document).ready(function() {
  ...其他代码

    function aaa() {
        alert("aaa");
    }
});


然后在该页点击命令——javascript命令中调用该方法:
var page = Forguncy.Page;
aaa();
它提示aaa is not defined



它都是一个页面加载的JS,应该如何调用?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

通过对运行时js脚本调试可以看到 页面加载时命令 和 其他的前端命令设定的 js 函数都属于 一个公共对象的 不同属性, 声明一个函数 并不会直接挂在全局 window 对象下,如果希望能实现 跨域的对象分享,一方面可以通过 注册 js 脚本引入全局方法或对象,另一个取巧的办法是,手动将函数或者对象挂在 window 对象下,毕竟 window 对象对所有 变量来说都是可访问的顶级对象,完全可以实现属性和 函数域的穿透

6 个回复

倒序浏览
最佳答案
最佳答案
nimotea
超级版主   /  发表于:2024-8-5 11:47:57
来自 5#
通过对运行时js脚本调试可以看到

页面加载时命令 和 其他的前端命令设定的 js 函数都属于 一个公共对象的 不同属性, 声明一个函数 并不会直接挂在全局 window 对象下,如果希望能实现 跨域的对象分享,一方面可以通过 注册 js 脚本引入全局方法或对象,另一个取巧的办法是,手动将函数或者对象挂在 window 对象下,毕竟 window 对象对所有 变量来说都是可访问的顶级对象,完全可以实现属性和 函数域的穿透

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-8-5 15:55:53
2#
我们可以考虑注册应用级的JavaScript

页面级别的话,可以再这里上传JS文件



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Levi.Zhang
超级版主   /  发表于:2024-8-5 16:00:08
3#
您是想在页面调用自定义的JavaScript代码对吧?


选择要指定JavaScript文件的页面,在属性设置区中选择“页面设置”选项卡,单击“JavaScript文件”区域的,上传JavaScript文件。
上传完成后,可单击对JavaScript进行删除和编辑操作。


在页面设置里,找到JavaScript文件,上传自定义的JS代码




具体操作步骤可以查看帮助手册:https://www.grapecity.com.cn/solutions/huozige/help/docs/v10.0/javascriptprogramming/usejavascript/registerjavascriptfileofpage







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
bianzhong
初级会员   /  发表于:2024-8-5 16:10:30
4#
这种做法没用,我在发贴前都尝试过,已经解决了。
回复 使用道具 举报
bianzhong
初级会员   /  发表于:2024-8-5 16:38:30
6#
是的,要挂载,我根据https://gcdn.grapecity.com.cn/showtopic-137088-1-1.html来处理的
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-8-5 17:50:59
7#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部