Uncaught SyntaxError: Неожиданный идентификатор - API веб-сайта - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь реализовать API общего доступа к ресурсам Android Chrome на странице сообщений jekyll.Ниже мой код.

<script>
  document.querySelector('share-btn2').addEventListener('click', function() {
    console.log('clicked');
    if(navigator.share) {
      navigator.share({
        title: {{ page.title }},
        text: {{ page.content }},
        url: {{ site.url }}{{ page.url }}
      })
      .then(() => console.log('Success'))
      .catch((error) => console.log('Error sharing', error));
    }

  });

</script>

Но я получаю ошибку Uncaught SyntaxError: Unexpected identifier в консоли в строке title: {{ page.title }},.Пожалуйста, исправьте мой код.спасибо.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Кажется, что ваш javascript-код не обрабатывается Jekyll.

Обязательно установите начальное значение в любом файле, который вы хотите обработать.

---
# even an empty front matter is ok
---
<script>
  document.querySelector('share-btn2').addEventListener('click', function() {
    console.log('clicked');
    if(navigator.share) {
      navigator.share({
        title: '{{ page.title }}',
        text: '{{ page.content }}',
        url: '{{ site.url }}{{ page.url }}'
      })
      .then(() => console.log('Success'))
      .catch((error) => console.log('Error sharing', error));
    }

  });

</script>
0 голосов
/ 30 декабря 2018

Значения для свойств общего ресурса по сути являются строками, а не тем, что вы указали.Это из документации Mozilla:

    var sharePromise = window.navigator.share(data);

data = An object containing data to share. At least one of the following fields must be specified. Available options are:

url: A USVString representing a URL to be shared.
text: A USVString representing text to be shared.
title: A USVString representing the title to be shared.


    navigator.share({
      title: document.title,
      text: 'Hello World',
      url: 'https://developer.mozilla.org',
    }); // share the URL of MDN

Вы имели в виду:

  navigator.share({
    title: page.title,
    text: page.content,
    url: site.url + page.url
  });
...