Как Вы изменяете расширение, под которым будут работать страницы .NET?

1111 Сегодня я оказался в том же положении. После борьбы с вилами того же пакета react-pinterest npm я нашел решение в этой проблеме https://github.com/pinterest/widgets/issues/13 .

Похоже, вы уже приблизились, добавив атрибут данных data-pin-build="doBuild", но не вызываете doBuild(), когда пользователь возвращается к компоненту после перехода по другому маршруту. Добавление атрибута данных указывает pinit.js добавить doBuild() в глобальную область, но не вызывает автоматически функцию при перемонтировании компонента.

Попробуйте заменить функцию componentWillMount на что-то вроде этого:

componentDidMount() {
  if (!window.doBuild) {
    this.preloadWidgetScript();
  } else {
    window.doBuild();
  }
}

preloadWidgetScript = () => {
  const script = document.createElement('script');
  script.async = true;
  script.dataset.pinBuild = 'doBuild';
  script.src = '//assets.pinterest.com/js/pinit.js';
  document.body.appendChild(script);
}

Еще одна вещь, на которую следует обратить внимание - это изменение с componentWillMount на componentDidMount, это необходимо, чтобы убедиться, что ссылка для встраивания перед выполнением doBuild().

6
задан Bill the Lizard 6 October 2009 в 19:07
поделиться

4 ответа

В IIS, когда Вы создаете приложение для виртуального каталога, нажимают на "Configuration" для приложения и редактирование "Отображения приложения", т.е. добавляют новое отображение для HTML.

Или, в Вашем web.config, в добавляют, что это разделяет:

<httpHandlers>
   <remove verb="*" path="*.html" />
   <add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory" />
</httpHandlers>
<compilation>
   <buildProviders>
       <buildProvider 
           extension=".html" 
           type="System.Web.Compilation.PageBuildProvider" />
   </buildProviders>
</compilation>

Править: Добавленный раздел, согласно комментарию. Спасибо Chris.

12
ответ дан 8 December 2019 в 18:43
поделиться

Вы хотите использовать httpHandlers

1
ответ дан 8 December 2019 в 18:43
поделиться

Обратите внимание, что я не на 100% уверен, что это будет работать с расширением PHP, мы используем эту процедуру пользовательского расширения здесь.

Можно изменить конфигурацию IIS: Откройте IIS Console (щелкните правой кнопкой по My Computer> Manage...> Сервисы и приложения),

  • Если Вы находитесь в веб-сайте, открываете свойства веб-сайтов и вкладку "Home directory".
  • Если Вы находитесь в виртуальном каталоге, свойства затем вкладка "Virtual Directory".

Нажмите "Configuration Button", ищите .aspx расширение и используйте ту же конфигурацию для ".php" расширения (подсказка: можно скопировать, вставляют исполняемый файл dll имя между обоими диалоговыми окнами),

0
ответ дан 8 December 2019 в 18:43
поделиться

Некоторое время назад мы переместили веб-приложение от coldfusion до PHP и должны были сохранить старые URL. Путем мы сделали это должно было использовать mod_rewrite для перезаписи .cfm URL к .php. Возможно, можно ли сделать что-то подобное?

0
ответ дан 8 December 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: