Целевые события Drop div не запускаются на странице сведений об объекте Salesforce в Chrome Обновленная версия 72 - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть страница VisualForce (стандартная учетная запись контроллера) в Salesforce Classic, которая содержит iframe с src html-страницы стороннего приложения.Когда страница включена в раздел «Страница учетной записи».Drag Drop Flles прекрасно работал в Chrome, но когда Chrome был обновлен до 72 версии, он перестал работать.Перетаскивание работает везде (вкладка Salesforce Custom VF, в разделе «Освещение» в браузерах Firefox, IE, Chrome <72). </p>

Единственный случай проблемы - в Chrome v.72 для раздела страницы VisualForce в Salesorce- классическая страница сведений об учетной записи (объекте).

В соответствии с моим отслеживанием, целевые события отбрасывания (dragenter, dragleave, dragover, drop) не запускаются, и в консоли для этого нет ошибки.

Действия по воспроизведению проблемы -

  1. Напишите код перетаскивания в вашем приложении (https://< domain> /DragDrop.html) Чтобы попробовать, просто напишите следующий код:

<!DOCTYPE HTML>
<html>
<head>
<style>
#div1 {
  width: 100px;
  height: 70px;
  padding: 10px;
  border: 1px solid #aaaaaa;
}
</style>
<script>
function allowDrop(ev) {
  ev.preventDefault();
}

function drag(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<div id="div1" ondrop="drop(event)" ondragenter="ondragenter()" ondragover="allowDrop(event)"></div>
<br>
 <img id="drag1" 
   src="https://openclipart.org/download/210445/misc-seed-small-brown.svg" 
   draggable="true" ondragstart="drag(event)" width="80" height="80">


</body>
</html>
Создайте страницу визуальной силы в Salesforce Classic.Добавьте следующий код -
<apex:page standardController="Account">
 <iframe id="testIframe" src="https://<domain>/DragDrop.html">
  </iframe>
</apex:page>
Перейдите на вкладку Учетные записи, выберите любую учетную запись, вставьте раздел VF на страницу учетной записи из макета редактирования.Попробуйте запустить перетаскивание.Снимок экрана - область перетаскивания проблемной области

1 Ответ

0 голосов
/ 18 февраля 2019

Я нашел альтернативное решение для устранения перетаскивания во внешней ссылке веб-приложения iframe на странице Salesforce vf, которая появляется на странице сведений об объекте.Основная проблема заключалась в том, что события отбрасывания были заблокированы в этом конкретном iframe в chrome 72.

Вместо того, чтобы iframe просто назначил ссылку на внешнее приложение в window.location.href следующим образом, у меня сработало

<apex:page standardController="Account">
   <script>
       window.location.href="https://<domain>/DragDrop.html";   
    </script>
</apex:page>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...