Кнопка не отображается в Plone, также не работает onclick - PullRequest
1 голос
/ 24 января 2020

Я редактирую гибкую страницу, чтобы открыть документ Excel на указанном c листе. Я создал две кнопки, чтобы посмотреть, будут ли они отображаться как настоящие кнопки, и использую функцию JS, которую я упоминаю. С этим кодом точная часть страницы выглядит как на картинке ниже.

Button View

Почему вместо кнопки отображается только текст и почему он нажимает атрибут не работает?

Примечание: я перешел на ссылки на электронную таблицу для публикации здесь, но ссылка была проверена на других веб-страницах

<script type="text/javascript">
    function Open_Excel_File(path,sheet)
      {

        fso = new ActiveXObject("Scripting.FileSystemObject");

        if (!fso.FileExists(path))
          alert("Cannot open file.\nFile '" + path + "' doesn't exist.");

        else
         {
           var myApp = new ActiveXObject("Excel.Application");

           if (myApp != null)
             {
               myApp.visible = true;
               Book = myApp.workbooks.open(path);
               var excel_sheet = Book.Worksheets(sheet).Activate;
               myApp.range(f_range).Select;
             }

           else {
             alert ("Cannot open Excel application");
           }
         }
      }
 </script>


<div>
<button onclick='Open_Excel_File("file://///fs-01\Departments\Underwriting\Statistical%20Data%20and%20Medical%20Information\Statistics\Cancers\Cancer%20Statistics%\Cancer%20Statistics%.xlsx", "Vulvar Ca");'>Open File</button>
<input type="button" onclick="Open_Excel_File('file://///fs-01\deps\uw\stat%20Data%20and%20Medical%20Information\Statistics\Cancers\Cancer%20Statistics%202018\Cancer%20Statistics%.xlsx', 'VCA');'>OPEN FILE</input>
</div>

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Кроме того, Plone отфильтровывает отскок потенциальных «неприятных» тегов через указанный c настраиваемый инструмент. Мне кажется, что вы ввели в исходный код HTML типа страницы (документа).

Если это так, вы увидите в своем браузере, что в исходном коде страницы тег сценария имеет был полностью удален.

Итак, правильный способ добавить немного js на вашу страницу, это загрузить его как ресурс portal_ javascript (plone <= 4) или в resource_registry (plone> = 5 ).

Гадкий способ - получить доступ в ZMI на https://yourseite:8080/Plone/portal_transforms/safe_html/ и настроить его так, чтобы он принимал теги сценария внутри документа (фактически, всего документа на вашем сайте).

Если этот ответ не удовлетворяет вас, попробуйте спросить в официальном сообществе: http://community.plone.org

hth, alessandro

0 голосов
/ 24 января 2020
  1. ваше значение onclick не является функцией, оно является результатом вызова функции. Попробуйте изменить это на onclick="Open_Excel_File"; Вам нужно будет указать путь к файлу в какой-то момент

  2. Доступ к файловой системе из браузера очень ограничен по соображениям безопасности, единственный способ, который я считаю нужным, - это ввести файл и использовать что пользователь предоставляет

...