iTop,在哪里实现OnChangeJavaScript?
iTop fourms是非常不活跃的,我被卡住了,所以我想我应该在这里问一下是否可以。我试图在iTop组织选择栏的更改中添加我自己的javascript 以下是iTop的链接(如果需要): 关于我的iTop论坛问题的额外信息,尚未有答案: 所以iTop是一个使用php、html、js和css制作的软件,但我对php不熟悉,所以我遇到了一点问题。我正在尝试实现一段javascript,它将根据组织将css的顶部栏更改为不同的颜色,我制作了一个独立于iTop的小型原型,它工作得非常完美。但是,我无法将onchange方法与javascript一起添加,因为主用户界面是使用php动态生成的。我已经尝试了很多方法来实现javascript,但都没有成功。以下是iTop的一些图片和帮助代码: 这张图片显示了iTop的inspect元素,以及我如何相信jquery-1.7.1.min.js可能是放置代码的正确位置 所以我试着进入这个文件,在我的Java脚本代码中复制和粘贴,但在某些位置它没有影响,在函数{…}中,它会导致iTop只显示一个空白页,我可能是完全错误的,但从我所看到的来看,这个文件似乎是我要编辑以得到我想要的 以下是我试图实现的javascript:iTop,在哪里实现OnChangeJavaScript?,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,iTop fourms是非常不活跃的,我被卡住了,所以我想我应该在这里问一下是否可以。我试图在iTop组织选择栏的更改中添加我自己的javascript 以下是iTop的链接(如果需要): 关于我的iTop论坛问题的额外信息,尚未有答案: 所以iTop是一个使用php、html、js和css制作的软件,但我对php不熟悉,所以我遇到了一点问题。我正在尝试实现一段javascript,它将根据组织将css的顶部栏更改为不同的颜色,我制作了一个独立于iTop的小型原型,它工作得非常完美。但是,我无法
var changeStyle = function(){
//HTML
var selectedValue = document.getElementById("org_id").value;
//CSS
var trimColor = document.querySelector("#top-bar");
//BT
if(selectedValue=="3"){
//change banner colour
trimColor.style.backgroundColor= "#3498db";
}
//Bell Aliant
else if(selectedValue=="27"){
//change banner colour
trimColor.style.backgroundColor= "#f1c40f";
}
//Bell Canada
else if(selectedValue=="26"){
trimColor.style.backgroundColor= "#e74c3c";
}
else
trimColor.style.backgroundColor="#ecf0f1";
}
以下是它在我的非iTop版本的HTML、JS和CSS中工作的一些图片:
虽然我不认为这是最好的解决方案,但我已经在jquery-1.1.1.min.js中输入了以下代码,如图所示 我已经达到了预期的效果,修剪现在随着组织的改变而改变,但是这不是我一直在寻找的完美解决方案,速度有点慢,但至少在我看来,你不会感到恼火。任务暂时完成
这是一个老问题,但无论如何我都会回答,因为对于iTop的最新版本,答案仍然可以 要在页面中注入一些JS,您必须使用iPageUIExtension::GetNorthPaneHtmliTopWebPage$oPage API,该API允许您访问iTopWebPage对象。然后,您可以使用各种公共方法,如iTopWebPage::add_ready_script$sScript,将$sScript注入所有后台页面。此外,一旦DOM就绪,脚本将被执行 你可以找到一个例子 注意:您将需要进行自己的iTop扩展,请检查如何进行扩展
class PageUIExtension implements iPageUIExtension
{
/**
* @inheritdoc
*/
public function GetNorthPaneHtml(iTopWebPage $oPage)
{
...
$oPage->add_linked_script(utils::GetAbsoluteUrlModulesRoot() . 'molkobain-handy-framework/common/js/handy-framework.js');
}
}