在正则表达式模式匹配url(Blogger)上运行javascript

问题描述:

我试图在几个页面上加载一个javascript,但我只在与特定模式匹配的网页上。在正则表达式模式匹配url(Blogger)上运行javascript

下面的代码适用于特定页面,但它不接受

<b:if cond='data:blog.url == &quot;https://mywebsite.com/yyyy/mm/article.html&quot;'> 
<script src='https://javascritp.js'/> 
</b:if> 

我发现的最接近的是描述here但因为我的网站Blogger上运行,我不知道如何任何通配符或正则表达式使用该代码。

有什么建议或帮助吗?

Blogger条件语句不提供模式匹配功能。这将是更容易实现你通过JavaScript直接在博客模板需要什么 -

一个例子代码是这样 -

if(window.location.href.match(/Regex-Condition/){ 
    var script = document.createElement('script'); script.type = 'text/javascript'; 
    script.src = 'URL-Of-The-Script-You-Want-To-Load';script.async=true; 
    var insertScript = document.getElementsByTagName('script')[0]; insertScript.parentNode.insertBefore(script, insertScript); 
} 

除此之外,你还可以看看Lambda表达式(请参阅到How to use Google Blogger Lambda Operators

嗨,谢谢你的反馈!当我等待一些回复时,我意识到我必须像你说的那样使用JavaScript。

我在测试这个代码,但它看起来是错误的:

<script type='text/javascript'> 

var pattern = new RegExp(&#39;mywebsite\.com\/(200[8-9]|201[0-6])\/&#39;); 
if (pattern.test(document.location.href)) { 

} 

</script> 

我有两个主要的担忧:

  • 如果正则表达式是正确的
  • 我有括号之间执行一些包含Blogger条件语句,div和普通JavaScript的代码。这段代码是否需要特别注意?

谢谢