我正在开发一个CRM系统,允许我在其界面中编写自定义HTML和JavaScript,我可以使用哈希值#variable.variablename#
来引用CRM变量(例如当前进程状态,日期等)。所以我尝试编写以下JavaScript但问题是,无论是否存在三个变量中的任何一个,都不会显示任何链接:
<script type="text/javascript">
if ( #variable.1# != null) {
<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#" >View Page</a></div> }
if ( #variable.2# != null) {
<div><a href="/Service1.svc/vf/img?imgid=5#variable.2#" >View Page</a></div>
}
if ( #variable.3# !=null) {
<div><a href="/Service1.svc/vf/img?imgid=5#variable.3#" >View Page</a></div>
}
</script>
可能是什么问题?
答案 0 :(得分:2)
我请客人说#variable.1#
(2和3)的内容不是有效的javascript。也许您需要将它们用引号括起来,例如"#variable.1#"
另外,你需要document.write
html - 你不能只是把它放在一条线上并期望出现。
<script type="text/javascript">
var html = '';
if ( "#variable.1#" != null) {
html += '<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#" >View Page</a></div>'
}
if ( "#variable.2#" != null) {
html += '<div><a href="/Service1.svc/vf/img?imgid=5#variable.2#" >View Page</a></div>'
}
if ( "#variable.3#" !=null) {
html += '<div><a href="/Service1.svc/vf/img?imgid=5#variable.3#" >View Page</a></div>'
}
document.write(html);
另外,考虑使用“查看源代码”(Firefox上的 Ctrl + U )来查看您构建的实际Javascript。
答案 1 :(得分:1)
这些是无效的JS语句。要将内容写入文档,请使用document.write
:
document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#">View Page</a></div>');
答案 2 :(得分:0)
尝试将您的CRM变量用单引号括起来,这样它们就会被解释为javascript中的字符串类型,并使用document.write
来编写html内容,如下所示:
if ( '#variable.1#' != null) {
document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#" >View Page</a></div>');
}
if ( '#variable.2#' != null) {
document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.2#" >View Page</a></div>');
}
if ( '#variable.3#' !=null) {
document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.3#" >View Page</a></div>');
}