首页 > 解决方案 > 搜索 Javascript 未生成正确的网址

问题描述

我有一个搜索栏脚本,如果在其中输入某些关键字,它会转到特定页面,并且如果没有输入某些单词,它将使用标准搜索。问题是,如果我为 zendesks 标准 {{search}} 创建 falseLocation,它总是首先选择那个,而不是搜索数组。

目前 falseLocation 设置为https://support.nightowlsp.com/hc/en-us/search?utf8=✓&query=Search,它只搜索“搜索”这个词

...

<script type='text/javascript'>
    $(document).ready(function() {
        var productLocatorArray = [];

        productLocatorArray.push(
            [
                [ // 0 AHD7 Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                        "AHD7 SERIES", "AHD7SERIES", "AHD7", "AHD7-1682","AHD7-441",
                        "AHD7-841","AHD7 841","AHD7841",
                        "AHD7-841-B","AHD7 841 B","AHD7841B",
                        "AHD7-842",
                        "AHD7-881",
                        "AHD7-882",
                        "AHD7-DVR16-2TB",
                        "AHD7-DVR4-1TB",
                        "AHD7-DVR8-1TB",
                        "AHD7-DVR8-2TB",
                        "B-A720-162-14-1PTZ",
                        "B-A720-162-16",
                        "B-A720-162-8",
                        "B-A720-162-8-1PTZ",
                        "B-A720-162-8-B",
                        "B-A720-41-4",
                        "B-A720-41-4-B",
                        "B-A720-81-4",
                        "B-A720-81-4-B",
                        "B-A720-81-6-1PTZ",
                        "B-A720-81-8",
                        "B-A720-81-8-B",
                        "CAN-AHD7-441",
                        "CAN-AHD7-441-B",
                        "CL-441-720P",
                        "CL-882-720P",
                        "CL-882-720P-B",
                        "DVR-4A720J-5",
                        "B-AZ16-8HD7-2",
                        "B-AZ4-4HD7-1",
                        "B-BBA720-82-8",
                        "BJ-882-720P",
                        "BJ-441-720P", "B-A720-162-12-R", "B A720 162 12 R", "BA72016212R", "AHD7-DVR4-1TB-R", "AHD7 DVR4 1TB R", "AHD7DVR41TBR", "AHD7-441-B-R", "AHD7 441 B R", "AHD7441BR", "CAM-2PK-AHD7", "CAM 2PK AHD7", "CAM2PKAHD7"
                    ]
                ],
                [ // 1 AHD10 Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/115008318647-AHD10-Series'],
                    [ 
                        "AHD10 SERIES", "AHD10SERIES", "AHD10", "AHD10-441",
                        "B-AHD10-441",
                                            "C-841-A10", 
                                            "C 841 A10", 
                                            "C841A10", 
                                            "DVR-AHD10",
                                            "DVR AHD10", 
                                            "DVRAHD10", 
                                            "AHD10",
                                            "CL-A10-841",
                                            "CL A10 841",
                                            "CLA10841", "AHD10-841", "AHD10 841", "AHD10841", "AHD201-84-B", "AHD201 84 B", "AHD20184B", "AHD201-84-R", "AHD201 84 R", "AHD20184R", "CAM-2PK-AHD10", "CAM 2PK AHD10", "CAM2PKAHD10"
                                    ]
                ],
                [ // 2 NVR7 Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                                            "NVR7",
                                            "NVR7 SERIES",
                        "NVR7P-441",
                        "NVR7P-882"
                    ]
                ],
                                [ // 2 NVR H5 Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                                            "NVR H5",
                                            "NVR H5 SERIES",
                                            "H5",
                        "NVR-H5B-323",
                        "NVR-H5B-82"
                    ]
                ],
                [ // 3 NVR10 Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                                            "NVR10",
                                            "NVR10 SERIES",
                        "NVR10-441",
                        "NVR10-442",
                        "NVR10-842",
                        "NVR10-843",
                        "NVR10-882",
                        "NVR10-883",
                        "B-BBNVR10-882"
                    ]
                ],
                [ // 4 F Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                                            "F SERIES",
                                            "F SERIES 32",
                                            "F6",
                                            "F6 SERIES",
                                            "F9",
                                            "F9 SERIES",
                        "B-F650-45-4",
                        "B-F650-45-4-B",
                        "B-F650-81-8",
                        "B-F650-81-8-B",
                        "B-F900-161-12",
                        "B-F900-161-12-B",
                        "B-F900-161-8",
                        "B-F900-161-8-B",
                        "B-F900-81-4",
                        "B-F900-81-4-B",
                        "B-F900-81-8",
                        "B-F900-81-8-B",
                        "B-F9-3212-12DM-2TB",
                        "B-F9-3212-12DM-2TB-B",
                        "B-F93224-700-2TB",
                        "F6-161-8624N",
                        "F6-41-4624N",
                        "F6-45-4624N",
                        "F6-81-4624N",
                        "F6-81-4624N-B",
                        "F6-81-4624N-BF",
                        "F6-81-8624N",
                        "F6-DVR16",
                        "F6-DVR16-1TB",
                        "F6-DVR16-R",
                        "F6-DVR4",
                        "F6-DVR4-5GB",
                        "F6-DVR4-R",
                        "F6-DVR8",
                        "F6-DVR8-1TB",
                        "F6-DVR8-R",
                        "F9-161-8930",
                        "F9-161-8930-B",
                        "F9-3212-4DM-2TB",
                        "F9-3216-2TB",
                        "F9-3216-2TB-B",
                        "F9-81-4930",
                        "F9-81-4930-B",
                        "F9-81-8930",
                        "F9-81-8930-B",
                        "F9-DVR32",
                        "F9-DVR32-2TB",
                        "CAN-F6-45-2624N",
                        "CAN-F6-45-2624N-B",
                        "CAN-F6-81-4624N",
                        "CAN-F6-81-4624N-B",
                        "B-AZ16-8700-1",
                        "B-AZ4-4700-5",
                        "B-BBF900-81-8"
                    ]
                ],
                [ // 5 X Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                                            "X SERIES",
                        "X100-DVR16",
                        "X100-DVR16-1TB",
                        "X100-DVR16-1TB-R",
                        "X100-DVR16-2TB",
                        "X100-DVR4",
                        "X100-DVR4-5GB",
                        "X100-DVR4-R",
                        "X100-DVR8",
                        "X100-DVR8-1TB",
                        "X100-DVR8-5GB",
                        "X100-DVR8-R",
                        "X7-SP-841TB",
                        "X9-1616-2TB",
                        "X9-168-1TB",
                        "X9-168-1TB-R",
                        "X9-168-2TB",
                        "X9-168-2TB-R-PF",
                        "X9-168-4DM-2TB",
                        "X9-168-4DM-2TB-B",
                        "X9-42-500",
                        "X9-44-500",
                        "X9-44-500-R",
                        "X9-84-1TB",
                        "X9-84-1TB-B",
                        "X9-84-500",
                        "X9-88-1TB",
                        "X9-88-2TB",
                        "X9-88-500",
                        "B-X161-8",
                        "B-X162-12",
                        "B-X162-16",
                        "B-X81-4",
                        "B-X81-49-4DM9-BB",
                        "B-X81-49-4DM9-BB-B",
                        "B-X81-4-R",
                        "B-X81-8"
                    ]
                ],
                [ // 6 BJP-BJ Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                                            "BJ",
                                            "BJ SERIES",
                                            "BJP",
                                            "BJP SERIES",
                        "BJ-168-724-1TB",
                        "BJ-168-724-1TB-R",
                        "BJ-84-724-5GB",
                        "BJ-84-724-5GB-R",
                        "BJ-881-624A",
                        "BJ-881-624A-B",
                        "BJ-881-624A-R",
                        "BJP-45",
                        "BJP-45-R",
                        "BJPRO-86-1TB",
                        "BJPRO-86-1TB-R"
                    ]
                ],
                [ // 7 WM Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                        "WM-41-4624N",
                        "WM-81-8624N",
                        "WM-845-4CM624",
                        "WM-845-4CM624-B",
                        "WM-845-4CM624-R",
                        "WM-845-624",
                        "WM-845-624-R"
                    ]
                ],
                [ // 8 WMC Series
                    ['https://support.nightowlsp.com/hc/en-us/articles/360009216554-Don-t-See-Your-Series-'],
                    [
                        "WMC-165-8624N",
                        "WMC-165-8624N-R",
                        "WMC-85-4511",
                        "WMC-85-4511-R",
                        "WMC-85-8624N"
                    ]           
                ],
                [ // 18 HDA Series
                        ['https://support.nightowlsp.com/hc/en-us/articles/115008161648-HDA10-Series'], 
                        [
                            "HDA10 SERIES", "HDA10SERIES", "HDA10", "HDA 10",
                                            "C-881-PIR1080", 
                                            "C 881 PIR1080", 
                                            "C881PIR1080", 
                                            "DVR-HDA10PB-81-RS", 
                                            "DVR HDA10PB 81 RS", 
                                            "DVRHDA10PB81RS", 
                                            "DVR-HDA10PB-81", 
                                            "DVR HDA10PB 81", 
                                            "DVRHDA10PB81", 
                                            "WM-8HD10L-4720-1", 
                                            "WM 8HD10L 4720 1", 
                                            "WM8HD10L47201", 
                                            "DVR-HDA10LB-81-RS", 
                                            "DVR HDA10LB 81 RS", 
                                            "DVRHDA10LB81RS", 
                                            "DVR-HDA10LB-81", 
                                            "DVR HDA10LB 81", 
                                            "DVRHDA10LB81", 
                                            "CL-HA10-881P", 
                                            "CL HA10 881P", 
                                            "CLHA10881P", 
                                            "CL-HA10", 
                                            "CL HA10", 
                                            "CLHA10", 
                                            "WM-HD2-861P",
                                            "WMHD2861P", "B-10LHDA-16161-720", "B 10LHDA 16161 720", "B10LHDA16161720", "B-10LHDA-841-1080-R", "B 10LHDA 841 1080 R", "B10LHDA8411080R", 
"B-10PH-16121-AHD2", "B 10PH 16121 AHD2", "B10PH16121AHD2", "B-10PH-16121-AHD2-R", "B 1OPH 16121 AHD2 R", "B10PH16121AHD2R", "B-10PH-1681-1080-R", "B 10PH 1681 1080 R", "B10PH16811080R", "B-10PH-1682-PIR", "B 10PH 1682 PIR", "B10PH1682PIR", "B-10PH-841-2DMA", "B 10PH 841 2DMA", "B10PH8412DMA", "B-10PH-841-PIR", "B 10PH 841 PIR", "B10PH841PIR", "B-1OPH-881-PIR", "B 10PH 881 PIR", "B10PH881PIR", "B-10PH-881-PIR-R", "B10PH881PIRR", "B 10PH 881 PIR R", "C-881-PIR1080", "C 881 PIR1080", "C881PIR1080", "CAN-HD201-86P", "CAN HD201 86P", "CANHD20186P", "CL-HA10-881P", "CL HA10 881P", "CLHA10881P", "CL-HA10-881P-R", "CL HA10 881P R", "CLHA10881PR", "DVR-HDA10LB-161-RS", "DVR HDA10LB 161 RS", "DVRHDA10LB161RS", "DVR-HDA10LB-162-RS", "DVR HDA10LB 162 RS", "DVRHDA10LB162RS", "DVR-HDA10PB-81-RS", "DVR HDA10PB 81 RS", "DVRHDA10PB81RS", "HD201-86P-B", "HD201 86P B", "HD20186PB", "HDA10L-7BU-841-R-PF", "HDA10L 7BU 841 R PF", "HDA10L7BU841RPF", "HDA10P-10BU-16122", "HDA10P 10BU 16122", "HDA10P10BU16122", "HDA10P-10BU-841-PIR", "HDA10P 10BU 841 PIR", "HDA10P10BU841PIR", "HDA10P-10BU-1682", "HDA10P 10BU 1682", "HDA10P10BU1682", "HDA10P-10BU-842", "HDA1OP 10BU 842", "HDA10P10BU842", "HDA10P-10BU-882", "HDA10P 10BU 882", "HDA10P10BU882", "HDA10P-882-PIR", "HDA10P 882 PIR", "HDA10P882PIR", "M-HA10-881", "M HA10 881", "MHA10881", "M-HDA10L-10BU-841", "M HDA10L 10BU 841", "MHDA10L10BU841", "M-HDA10L-7BU-881", "M HDA10L 7BU 881", "MHDA10L7BU881", "WM-8HD10L-4720-1", "WM 8HD10L 4720 1", "WM8HD10L47201", "WM-HD2-861P", "WM HD2 861P", "WMHD2861P", "B-10LHDA-881-720-R", "B 1OLHDA 881 720 R", "B10LHDA881720R", "B-10PH-16122-PIR-R", "B 10PH 16122 PIR R", "B10PH16122PIRR", "B-1OPH-882BB-PIR-R", "B 10PH 882BB PIR R", "B10PH882BBPIRR", "B-10LHDA-1681-720-R", "B 10LHDA 1681 720 R", "B10LHDA1681720R", "HDA10L-10BU-841", "HDA10L 10BU 841", "HDA10L10BU841", "CL-HDA882-1080", "CL HDA882 1080", "CLHDA8821080", "HD202-1616-B", "HD202 1616 B", "HD2021616B", "HD201-88P", "HD201 88P", "HD20188P", "WM-16HD10L-8720-1", "WM 16HDL10 8720 1", "WM16H10L87201", "HDA10P-841-BBPIR-R", "HDA10P 841 BBPIR R", "HDA10P841BBPIRR", "DVR-HDA10PB-162-R", "DVR HDA10PB 162 R", "DVRHDA10PB162R", "B-10PH-882BB-PIR-R", "B 10PH 882BB PIR R", "B10PH882BBPIRR", "B-10PH-16101-2DMA", "B 10PH 16101 2DMA", "B10PH161012DMA", "B-10PH16161-PIR", "B 10PH 16161 PIR", "B10PH16161PIR", "B-10PH-861-2DMA", "B 10PH 861 2DMA", "B10PH8612DMA", "HDL20-86-B", "HDL20 86 B", "HDL2086B", "HDA10P-881-BB-R", "HDA10P 881 BB R", "HDA10P881BBR", "B-10PH-16161-PIR", "B 10PH 16161 PIR", "B10PH16161PIR", "B-10LHDA-1681-720", "B 10LHDA 1681 720", "B10LHDA1681720", "B-10LHDA-841-1080", "B 10LHDA 841 1080", "B10LHDA8411080", "HDA10P-10BU-882-BB", "HDA10P 10BU 882 BB", "HDA10P10BU882BB", "CL-HDA841-720", "CL HDA841 720", "CLHDA841720", "B-10PH-881-PIR", "B 10PH 881 PIR", "B10PH881PIR", "DVR-HDA10LB-8-R", "DVR HDA10LB 8 R", "DVRHDA10LB8R", "CAM-2PK-HDA10W-BU", "CAM 2PK HDA10W BU", "CAM2PKHDA10WBU", "CAM-2PK-PIRHDA10W-BU", "CAM 2PK PIRHDA10W BU", "CAM2PKPIRHDA10WBU", "CAM-4PK-HDA10W-BU", "CAM 4PK HDA10W BU", "CAM4PKHDA10WBU", "CAM-HDA10W-BU", "CAM HDA10W BU", "CAMHDA10WBU", "CAM-HDA10W-DMA", "CAM HDA10W DMA", "CAMHDA10WDMA", "CAM-PIRHDA10W-BU", "CAM PIRHDA10W BU", "CAMPIRHDA10WBU", "CAN-CAM-HDA10W-BU", "CAN CAM HDA10W BU", "CANCAMHDA10WBU", "CAN-CAM-HDA10W-DMA", "CAN CAM HDA10W DMA", "CANCAMHDA10WDMA", "WM-CAM-HDA10W-DMA", "WM CAM HDA10W DMA", "WMCAMHDA10WDMA", "CAM-2PK-HDA10B-BU", "CAM 2PK HDA10B BU", "CAM2PKHDA10BBU", "CAM-2PK-PIRHDA10W-BU-R", "CAM 2PK PIRHDA10W BU R", "CAM2PKPIRHDA10WBUR", "CAM-2PK-PIRHDA10W-BU-R-PF", "CAM 2PK PIRHDA10W BU R PF", "CAM2PKPIRHDA10WBURPF", "CAM-HDA10W-DMA-R-PF", "CAM HDA10W DMA R PF", "CAMHDA10WDMARPF"
                    ]
                ],
                [
                    ['https://nightowlsp.zendesk.com/hc/en-us/articles/214204357'],
                    [
                        "CAM-IPPT-HDW"
                    ]
                ],
                [
                    ['https://nightowlsp.zendesk.com/hc/en-us/articles/214207197'],
                    [
                        "CAM-IPPTV2"
                    ]
                ]
            ]);

        $('.search').removeAttr('action');
        $('.search').submit(function(event) {
            event.preventDefault();
            var searchClass = $('.search').attr('class');
                    var skuArray = [];
            var checkCase = '';
            var falseLocation = '';
            switch (searchClass) {
                case 'search remote_viewing':
                    skuArray.push(productLocatorArray[1]);
                    checkCase = 'rv';
                    falseLocation = 'https://support.nightowlsp.com/hc/en-us/articles/360022759554?found=no';
                    break;
                case 'search wireless_guide':
                    skuArray.push(productLocatorArray[2]);
                    checkCase = 'wg';
                    falseLocation = 'https://support.nightowlsp.com/hc/en-us/articles/360022759554?found=no';
                    break;
                case 'search wireless_remote':
                    skuArray.push(productLocatorArray[3]);
                    checkCase = 'wr';
                    falseLocation = 'https://support.nightowlsp.com/hc/en-us/articles/360022759554?found=no';
                    break;
                default:
                    skuArray.push(productLocatorArray[0]);
                    checkCase = 'qg';
                    falseLocation = 'https://support.nightowlsp.com/hc/en-us/search?utf8=✓&amp;query=Search';
            }
            var found = false;
            var howMany = skuArray[0].length;
            var queryVal = $(this).find('#query').val().toUpperCase();
            for (i = 0; i < howMany; i++) {
                if ($.inArray(queryVal, skuArray[0][i][1]) != -1) {
                    location.href = skuArray[0][i][0];
                    found = true;
                    break;
                }
            }
            if (found == false) {
                location.href = falseLocation};
            }
        });
    });

  </script>

...

标签: javascriptarrayssearchzendesk

解决方案


推荐阅读