javascript - 寻找 JavaScript 创可贴

标签 javascript

我在 JavaScript 文件中有一些代码,这些代码在页面底部靠近结束标记的位置调用,确实应该进行调整...

if(wa.URLchunk1 == "https://www.example.com/bla/") {
    wa.selectedLink = dojo.query ('.wcmLeftNavSelectedLink')[0].innerHTML;
    if(wa.selectedLink.indexOf('some text') != -1)
        wa.customPageName = wa.customPageName + 'some text/';
    else if(wa.selectedLink.indexOf('some other text') != -1)
        wa.customPageName = wa.customPageName + some other text/';
    else if(wa.selectedLink.indexOf('some other other text') != -1)
        wa.customPageName = wa.customPageName + 'some other other text/';
}

在大多数情况下,这段代码对我来说工作得很好,但在某些情况下,wcmLeftNavSelectedLink 类未定义,这会破坏我的代码。理想情况下,应调整代码以包含仅在该类存在时设置 wa.selectedLink 的逻辑。但是,我的问题是我无法再更新此 JavaScript 文件。我的客户卡住了代码,并且不允许对网站进行任何更多更新,因为它最终将被淘汰。

我确实有一个标签管理平台,因此我可以在页面中进一步设置新的 JavaScript。 所以我的问题是,是否有任何聪明的解决方法可以让我在 wcmLeftNavSelectedLink 类未定义时阻止此代码触发,记住我无法直接更改代码。我只能在该代码触发之前设置新代码。

仅供引用,wa.URLchunk1 在此 JS 文件中之前没有设置为任何内容,因此我不能手动将其设置为其他内容,除非有一种方法可以设置变量并且不允许随后更改它。

最佳答案

如果您可以在此 JS 之前添加 HTML,请这样做:

<span class="wcmLeftNavSelectedLink" style="display:none"></span>

如果已经有一个匹配元素,则该元素将位于第一个[0],并且该元素将被忽略。

如果,这将不匹配您的任何情况,因此代码实际上什么都不做。

关于javascript - 寻找 JavaScript 创可贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830163/

相关文章:

javascript - gulp - 如何停止或取消任务运行

javascript - 如何做 javascript/jQuery 文本效果 david desandro

javascript - 使用 npm 包将 css 文件转换为 HTML 中的内联样式

javascript - 如何修改类的一个元素而不用相同的 CSS 类打扰其余元素?

javascript - 自定义 mobiscroll 中的动态内容

javascript - 检查 Cookie 是否已设置安全标志并仅使用 JavaScript 进行更新

javascript - 如何在范围变量angularjs中保存文本框值

javascript - easyrtc api(node.js) 中的麦克风静音

javascript - 如何将 HTML 元素添加到与文本混合的存储中?

javascript - 这个邮件链接有什么问题?