Как я могу связать с разделом развернуть / свернуть и открыть его автоматически? - PullRequest
0 голосов
/ 12 апреля 2019

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

Примером этого является то, что я хочу сослаться на страницу, похожую на http://www.agr.gc.ca/eng/?id=1535571735990,, которая имеет множество разделов раскрытия / свертывания. Что я хочу сделать, так это сделать ссылку на конкретную версию и открыть только ее. Итак, если я хочу связать AgriStabilty на указанной выше странице откуда-то еще, я хочу, чтобы страница переместилась в этот раздел (достаточно просто), но я также хочу, чтобы он также был открыт. Если я ссылаюсь на геопространственные продукты откуда-то еще, я хочу, чтобы он зашел в этот раздел и открыл его.

Я знаю, что с помощью вкладок в начальной загрузке вы можете создать ссылку на определенную вкладку и открыть ее. Я не вижу ничего такого, что можно было бы сделать с помощью функции развернуть / свернуть. Кажется, требуется jQuery, о котором я ничего не знаю.

Наш сайт также основан на системе управления контентом, поэтому у меня нет доступа ни к одному из сценариев или CSS, только к тому, что я могу поместить в основной текст.

Мы уже пытались добавить и открыть ссылку на начальной странице перед привязкой (т. Е. ?id=1553800901644&open#ar), а затем добавили следующий сценарий перед содержимым и после содержимого

Ссылка на стартовой странице:

<a href="?id=1553800901644&open#ar">

HTML на целевой странице для указанного выше пункта назначения:

<details id="ar">
      <summary>Arabic <i lang="ar">العربية</i></summary>
  stuff goes here
</details>

JavaScript:

<script>
function getAnchor() {
    var currentUrl = document.URL,
     urlParts   = currentUrl.split('#');

    return (urlParts.length > 1) ? urlParts[1] : null;
}

if(document.URL.indexOf("&open") != -1) {
     document.getElementById(getAnchor()).click();
}
</script>

Мы надеялись, что он перейдет в нужное место на странице (что и происходит), а затем имитирует нажатие на ссылку, чтобы развернуть свернутый контент. Однако & open не добавляется к URL-адресу целевой страницы при его открытии. Так что ничего выше не работает, кроме якоря. Похоже, что-то перекрывает добавление & open к URL.

Кто-нибудь знает, как это сделать с учетом имеющихся ограничений?

1 Ответ

0 голосов
/ 12 апреля 2019

Я видел похожую ситуацию.Используя iframe, другую страницу можно вставить в текущий HTML-документ.Чтобы быть более конкретным, на раздел веб-страницы можно ссылаться, вызывая связанный идентификатор в URL.Обратитесь к этому сообщению на stackoverflow: ссылка на раздел веб-страницы

<!DOCTYPE html>
<html>
<head>
<title>Sample</title>
</head>
<body>
<div>
<iframe src="url_where_dropdown_accordian_is_and_reference_id_of_div_tag_of_opened_accordian?" style="border:none;"></iframe>
</div>
</body>
</html>
...