为什么这个脚本从不运行

Why does this script never run?

本文关键字:运行 脚本 为什么      更新时间:2023-09-26

我有以下JavaScript语句,在页面加载时执行:

变量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>

提前感谢!

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

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

var u1 = '%pu1=!;';

u1 的值总是'%pu1=!;'的,因为你声明它就是这样。

好的,

我终于使用 search 而不是 indexOf 让它工作了!

使用带有默认大小写的 switch 语句,还是至少提供带有默认值的"else"更有意义?

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