从复合组件执行 JavaScript

2023-12-09

美好的一天,我有一个问题困扰了我几个小时。这非常简单。我尝试在呈现复合组件时调用/执行 JavaScript。就像您可以使用 html 标签 body 和 onload 执行的操作一样。

如何引用要执行的内联 JavaScript?

<cc:implementation>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false" />
    <div id="#{cc.clientId}" >

        <div id="map_canvas" style="width: 850px; height: 350px; padding: 1px; border: darkblue" />

        <script>init();</script>

        <script type="text/javascript">
            var map = null;
            function init() {
                var latlng = new google.maps.LatLng(51.5001524, -0.12623619);
                var myOptions = {
                    zoom: 7,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            }
        </script>
    </div>
    </cc:implementation>

我尝试过 this.init() , #{cc.clientId}.init() 。但是在上下文中找不到JS。如果我从 JSF/ajax 组件执行它,它只需使用“init();”就可以正常工作。


你正在呼唤init() before该函数已被定义。

将调用放在函数定义之后。

<script type="text/javascript">
    var map = null;
    function init() {
        var latlng = new google.maps.LatLng(51.5001524, -0.12623619);
        var myOptions = {
            zoom: 7,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    }
</script>
<script>init();</script>

或者直接去掉函数调用直接执行。它会像执行后一样工作<div id="map_canvas">已被定义。

<script type="text/javascript">
    var map = null;
    var latlng = new google.maps.LatLng(51.5001524, -0.12623619);
    var myOptions = {
        zoom: 7,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
</script>

无关针对具体问题:复合组件中存在另一个设计缺陷。该组件不能在同一视图中重复使用多次。你最终会得到多个<div id="map_canvas">HTML 中的元素。具有多个相同的元素idHTML 中是非法的。相应地修复它:

<div id="#{cc.clientId}_map_canvas" ...>

and

... document.getElementById("#{cc.clientId}_map_canvas") ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从复合组件执行 JavaScript 的相关文章

  • 如何在 Yarn 中使用多个 npm 注册表?

    我正在尝试在我们的环境中设置 Yarn 0 17 9 但我的注册表有问题 我们目前使用两个注册中心 官方 npmjs 和我们自己的内部网络注册中心 Sinopia 问题是我们正在使用内部工具通过 registry 标志从一个或另一个中提取软
  • 如何将选定的元素从 devTools 页面发送到 chrome 侧边栏页面

    我正在开发 chrome devTools 扩展 基本上 我在 元素 面板中添加了一个侧边栏窗格 开发工具 js chrome devtools panels elements createSidebarPane ChromeTrast f
  • 为什么我的事件处理程序会导致“不是函数”错误,但可以在 Firebug 控制台中运行?

    使用JQuery 1 2 6 在Firefox 3和IE7上进行测试 我有一些非常基本的 JavaScript 代码来重新加载验证码图像 在我的 JS 文件中 我有 var Captcha count 0 Refresh function
  • 在 IE8 中使用 javascript __proto__

    你好 我在 javascript 中有这两个对象 var john firstname John lastname Smith var jane firstname Jane 这样做 jane proto john 我可以访问 Jane 的
  • 为什么 Jshint 在此 if 语句中说“变量已定义”?

    我有这个代码 if something is true var someVar true else var someVar false JsHint 表示在 else 语句部分 someVar 已被定义 这是为什么 我该如何解决 Thank
  • 使用非常大的背景位置偏移是否存在性能问题?

    我正在构建一个进度条控件 并且正在研究它实际上并不显示进度 而只是旋转 正在发生某事 的指示器的情况 我的设计基本上是交替的对角条纹 本质上是一个像这样的理发杆 但是 旋转 由于希望将尽可能多的负载转移给渲染引擎 我想为此使用 CSS 过渡
  • 由于 MIME 类型而导致资源被阻止?

    多年来我已经成功地包含动态创建的 javascript 文件 这是一个例子 https granadainfo com sups php locs 95 https granadainfo com sups php locs 95 正如你所
  • 如何用 JavaScript 修复图像透视变形和旋转?

    我有一些用手机拍摄的图像 有没有可以拉直纸张照片并将其压平的 JavaScript 库 例如 我想创建一个矩形图像 该图像没有任何失真 换句话说我想知道如何用 JavaScript 修复透视变形和旋转 例如 我发现下面的示例图像来自this
  • Angular UI-Router:多个 URL 到单一状态

    我已经开始使用 Angular 的 ui router 并且我正在尝试弄清楚如何让多个 URL 引用单个状态 例如 orgs 12354 overview retyrns the same pages as org overview 我的
  • 只保留 A-Z 0-9 并使用 javascript 从字符串中删除其他字符

    我正在尝试验证字符串以使它们成为有效的网址 我只需要保留 A Z 0 9 并使用以下命令从字符串中删除其他字符javascript or jquery 例如 贝儿餐厅 我需要将其转换为 百丽餐厅 所以字符被删除 只保留 A Z a z 0
  • jquery 中可点击 div 中的按钮

    我有整个 div 您可以单击它来切换该 div 的主要部分 问题是我在该 div 中也有可点击的按钮 当我点击它时 它会执行它应该做的事情 但同时也会切换整个 div 我怎样才能禁用它 Use event stopPropagation 单
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • 使用 JavaScript 防止网页导航离开

    如何使用 JavaScript 防止网页导航离开 Using onunload允许您显示消息 但不会中断导航 因为为时已晚 然而 使用onbeforeunload将中断导航 window onbeforeunload function re
  • 谷歌地图的地址建议

    有人知道是否有任何方法可以重现 ajax 建议框 例如http maps google com http maps google com 我的网页中有使用 google 地图 api 的吗 例如 如果有人写下 15 Avenue 的建议列表
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • Javascript等待/异步执行顺序

    所以我试图把我的头脑集中在 Promise await async 上 我不明白为什么当 go 执行时 带有 finished 的警报会紧随 console log coffee 之后 当所有函数都使用等待 承诺时 为什么它只等待 getC
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • Safari 扩展将消息发送到特定选项卡

    有没有办法从全局页面发送消息到特定选项卡 我目前正在做的是 在创建选项卡时 注入的脚本会创建一个唯一的 ID 并将包含该编号的消息发送到全局页面 并且全局页面会保存该编号 如果全局页面需要发送一些数据到一个tab 即 tab 3 然后全局页
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐

  • 如何在 AngularJS 中检测 HTML 渲染何时完成

    我对这个课题进行了广泛的研究 但无论我做什么 我发现实现这个目标都极其困难 我想在 AngularJS Web 应用程序中完全呈现所有元素时执行代码 我想我找到了建议使用路由器和视图的解决方案 但我无法在我的情况下使用它 因为它似乎需要某些
  • 使用 String hashCode() 方法? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 来自链接 http www tutorialspoint com java java string hashcode htm Java中hashCode和equals方法的关系 良好的
  • Python Pylab,如何更改指定轴大小的标签的大小

    我正在尝试绘制核衰变的微分横截面 因此 y 轴的大小约为10 38 m 2 pylab 默认将轴绘制为0 0 0 2 0 4 等并有一个 1e 38 在 y 轴的顶部 我需要增加一点字体大小 我尝试过调整标签大小 py tick param
  • 从 JFrame 修改独立的 JPanel

    我有一个带有两个独立 JPanel 的 JFrame 其中一个 JPanel 充满了 JButton 而另一个则有几个文本字段 我通过 JFrame 将鼠标侦听器添加到按钮 并且希望当从第一个 JPanel 触发事件时 第二个 JPanel
  • 将 XML Dsig 格式转换为 DER ASN.1 公钥

    我正在开发一个 iPhone 应用程序 它从 ASP NET Web 服务中检索 RSA 公钥 格式如下
  • 谷歌加API:“权限不足”错误

    我正在使用 api 搜索 google plus 这是我的网址 https www googleapis com plus v1 activities query internet 20marketing access token xxxx
  • __name__ 的目的是什么?

    什么是 name 做 我只见过它搭配 main 没有别的 我知道经典if name main 定义作为包运行与独立运行时的行为 但是还有什么其他用途 name name is main 如果您直接执行脚本 如果您要导入模块 name 是模块
  • 如何正确重载 __add__ 方法?

    我需要写一门涉及日期的课程 我应该超载 运算符允许将天数添加到日期中 解释一下它是如何工作的 ADate对象表示为 2016 4 15 格式为 年 月 日 添加整数 10 应该得到 2016 4 25 这Date阶级有价值观self yea
  • .NET 集合类的渐近复杂度

    是否有任何关于 NET 集合类方法的渐近复杂性 big O 和其他 的资源 Dictionary
  • 如何控制 JSF 中的访问和权限?

    我想在用户登录我的系统后控制访问 例如 administrator can add delete and give rights to employee employee fill forms only 因此 在知道用户拥有哪些权限后 检查
  • 如何使用log4j的同一个记录器将不同的信息写入两个不同的文件?

    我想使用我的记录器写入两个不同的文件 其声明如下 public static final Logger logger Logger getLogger Adapt class PropertyConfigurator configure l
  • 在 Ajax 调用中传递包含空格的值

    尝试在 ajax 调用中传递空格 我相信 word 与 word 的传递方式相同 另一方面 两个单词需要通过呼叫完全发送 第二个词 但不一样 第二个字 我应该在调用之前修剪还是在服务器端脚本上执行此操作 我怎样才能发送空格 我知道这是一个老
  • urllib2/requests 和 HTTP 相对路径

    如何强制 urllib2 requests 模块使用相对路径而不是完整 绝对 URL 当我使用 urllib2 requests 发送请求时 我在代理中看到它将其解析为 GET https xxxx path to something HT
  • 为什么我的应用程序没有输入 if 语句

    我正在尝试用 Java 编写一个控制台客户端 服务器应用程序 使用套接字 我目前有一个简单的登录系统和一个简单的命令系统 登录系统似乎可以正常工作 尽管它会向客户端打印 无效的用户名和密码 行 无论用户是否输入正确的凭据 连接肯定有效 然而
  • GAE 部署 Java8/Java7 错误

    我正在尝试通过 Intellij IDEA 将一个基本上空的项目部署到 GAE 我创建了一个新项目 在 appengine web xml 中设置我的项目 ID 并保留其他所有内容 我收到以下错误 并带有完整日志here java lang
  • 在满足条件后使用 mufa 停止 React 组件之间的通信

    我正在使用 sub pub 模式mufa在 React 组件之间而不是 props 之间进行通信 然后 我们将减轻父组件中的逻辑 正如您将在下面的代码片段中注意到的那样 const on fire mufa class Input exte
  • 使用 codeigniter 电子邮件库时,当主题 > 75 个字符时,电子邮件主题标头格式错误

    当主题超过 75 个字符时 我的 MIME 标头中出现一些乱码 当换行符编码在标头中时 会有一个无效的额外换行符 某些电子邮件网关会使用以下内容退回电子邮件 MIME 字段格式错误 utf 8 Q SUBJECT error 有人有过使用
  • Gradle - 没有主要清单属性

    我正在使用 Gradle 构建 JAR 文件 当我尝试运行它时 出现以下错误 RxJavaDemo jar 中没有主要清单属性 我尝试操纵manifest属性 但我想我忘记添加依赖项或其他内容 我究竟做错了什么 apply plugin j
  • 如果失败X次,nodejs重试功能

    我希望我的函数执行 X 3 次直到成功 在我的情况下我正在跑步kinesis putRecord 来自 AWS API 如果失败 我想再次运行它 直到成功 但尝试次数不超过 3 次 我是 NodeJS 新手 我写的代码很难闻 const p
  • 从复合组件执行 JavaScript

    美好的一天 我有一个问题困扰了我几个小时 这非常简单 我尝试在呈现复合组件时调用 执行 JavaScript 就像您可以使用 html 标签 body 和 onload 执行的操作一样 如何引用要执行的内联 JavaScript