2017-02-19 19 views
1

Я пытаюсь загрузить javascript на нескольких страницах, но я только на страницах, которые URL-адрес совпадает с определенным шаблоном.Запуск javascript по шаблону соответствия шаблону регулярного выражения (Blogger)

Следующий код работает для конкретных страниц, но она не принимает никаких подстановочные или регулярное выражение

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

Ближайший вещь, которую я нашел, описанное here, но так как мой сайт работает на Blogger, я не знаю, как для использования этого кода.

Любое предложение или помощь пожалуйста?

ответ

0

Условные утверждения Blogger не предоставляют возможности сопоставления шаблонов. Было бы легче осуществить то, что вам требуется с помощью JavaScript непосредственно в шаблоне Blogger -

Пример кода будет выглядеть -

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); 
} 

Кроме этого, вы также можете посмотреть на лямбда-выражений (см до How to use Google Blogger Lambda Operators)

0

привет и благодарю вас за отзыв! Пока я ждал ответа, я понял, что должен использовать 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. Нужен ли этот код для особого внимания?

Thanks