为什么这个脚本永远不会运行?

时间:2012-05-22 16:34:35

标签: javascript if-statement conditional

我有以下JavaScript语句,它在Page Load上执行:

变量u1使用以下值之一填充:

BBSLoan|Accept|PPI+No|60Months
BBSLoan|Refer|PPI+No|60Months
HSBSLoan|Accept|PPI+No|48Months
HSBSLoan|Refer|PPI+No|48Months

我被告知条件陈述中的条件永远不会得到满足 - 这是真的吗?从我所看到的,继续每个变量,indexOf将返回的索引是0?除非我弄错了?

编辑:为了澄清,变量'u1'将使用上面列出的4个字符串中的任何一个动态填充。 %pu1=!;实际上是一个将填充此值的宏。

<script language="JavaScript" type="text/javascript">
    var u1 = '%pu1=!;';

    if (u1.indexOf('BBSLoan|Accept') > -1) {
        var pvnPixel = '<img src="http://www.url1.com"/>';
        document.writeln(pvnPixel);
    }
    if (u1.indexOf('BBSLoan|Refer') > -1) {
        var pvnPixel2 = '<img src="https://www.url2.com;"/>';
        document.writeln(pvnPixel2);
    }
    if (u1.indexOf('HSBSLoan|Accept') > -1) {
        var pvnPixel3 = '<img src="https://www.url3.com;"/>';
        document.writeln(pvnPixel3);
    }
</script>

提前致谢!

3 个答案:

答案 0 :(得分:5)

编辑:为了澄清,变量'u1'将使用上面列出的4个字符串中的任何一个动态填充。 %pu1 =!;实际上是一个将填充此值的宏。

这个答案不正确。它将在稍后删除,但留待以防止此答案再次弹出。

var u1 = '%pu1=!;';

u1的值始终为'%pu1=!;',因为您将其声明为。{/ p>

答案 1 :(得分:1)

好的,我终于使用search代替indexOf来实现这一点!

答案 2 :(得分:0)

使用带有默认情况的switch语句更合理,或者至少提供带有默认情况的“else”吗?

您是否尝试在设置var u1之后放入调试器语句,并逐步使用客户端(firefox,chrome,IE,safari都内置了“开发人员工具”,能够逐步执行js代码)调试器看看u1的价值是什么?