как использовать window.open в activhtmlparser? - PullRequest
0 голосов
/ 31 января 2020

У меня разный контент для разных страниц с тегами HTML, которые мне нужно показать пользователю GUI, для этого я использую responsehtmlparser, так как использую React js для внешнего интерфейса.

Но внутри содержимого есть несколько URL-адресов внутри тегов, которые мне нужно выполнить в функции window.open (url) javascript, но когда я узнал, что activhtmlparser не поддерживает javascript для напоминания по соображениям безопасности.

Итак, я попробовал различные способы выполнить мою задачу, т.е. выполнить эти URL с помощью функции window.open, но каждый раз, когда возникала какая-то проблема, например, я пытался jquery обнаружить функцию click и затем выполнить URL с помощью window.open. но обнаружил, что рендеринг на стороне сервера не поддерживает jquery.

Одно решение, которое я нашел, заключалось в использовании гайки преобразования activhtmlparser. Я не знаю точно, как заставить это работать. Пожалуйста, помогите мне с этой проблемой. Ниже опробована функция преобразования, а также responsehtmlparser:

reacthtmlparser

<div>{ReactHtmlParser(pages.content)}</div>

функция трансформации

 const htmlParserTransform = (node, index) => {
    if (node.type === 'tag' && node.name === 'a') {
      const {href} = node.attribs
      return (
        <a 
          href={href}
          onClick={(event) => {
            event.preventDefault ()
            window.open (href,'name','width=600,height=400')
          }}
          >
          <span pointerEvents="none">
            {convertNodeToElement (node, index, this.htmlParserTransform)}
          </span>
        </a>
      )
    }
  }

Спасибо в заранее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...