#css #iframe #tampermonkey
Вопрос:
На виртуальном уроке испанского языка моего сына его учебник помещен в ужасно маленькую рамку, внутри которой вам нужно прокручивать, вместо того чтобы использовать всю высоту окна браузера.
Я посмотрел на код и обнаружил, что если я изменю высоту стиля для d2l-iframe (с 4-й по последнюю строку) с фиксированного 760 пикселей на 87vh, он будет идеально смотреться на его мониторе. Это такая незначительная поправка, но я не могу понять, как заставить TamperMonkey изменить ее. Я погуглил и попробовал несколько подходов, но безрезультатно.
Я действительно просто ищу кого-то с опытом работы с TamperMonkey/UserScripts, чтобы указать мне правильное направление, но я хотел бы добраться туда сам.
<div class="d2l-popup d2l-popup-nopadding">
<div class="d2l-popup-title">
<div class="d2l_1_0_821 d2l_1_1_366 d2l-hidden" id="d2l-popup-nav">
<div class="d2l-iterator">
<a class="d2l-iterator-button d2l-iterator-button-prev d2l-iterator-button-notext" role="button" href="/d2l/le/content/303492/navigateContent/2779/Previous?pId=4043417" title="Previous "><d2l-icon icon="tier1:chevron-left" dir="ltr"></d2l-icon><span class="d2l-offscreen">Previous </span>amp;nbsp;</a><a class="d2l-iterator-button d2l-iterator-button-next d2l-iterator-button-notext" role="button" href="/d2l/le/content/303492/navigateContent/2779/Next?pId=4043417" title="Next"><span class="d2l-offscreen">Next</span>amp;nbsp;<d2l-icon icon="tier1:chevron-right" dir="ltr"></d2l-icon></a></div>
</div>
<h2 class="d2l-heading vui-heading-1">01.00 Un viaje se mide mejor en amigos que en millas</h2>
</div>
<div class="d2l-popup-body" style="height: 709px;">
<div class="d2l-messagearea d2l_1_2_876" id="d2l_messagearea" role="alert" tabindex="0"></div><div>
<div class="d2l-iframe-loading-container d2l_1_4_428 d2l_1_5_609" style="display: none;">
</div>
<iframe class="d2l-iframe d2l_1_4_428 d2l_1_5_609" id="d2l_1_3_744" name="d2l_1_3_744" src="/d2l/common/dialogs/quickLink/quickLink.d2l?ou=303492amp;amp;type=ltiamp;amp;rCode=0e28c0388c4f4923851fc7eb-12amp;amp;contentTopicId=4043435amp;amp;d2l_body_type=3" title="01.00 Un viaje se mide mejor en amigos que en millas" frameborder="0" scrolling="auto" allowfullscreen="" allow="microphone *; camera *; autoplay *" onload="this.m_loaded=true;" data-default-height="580" style="height: 87vh;width: 100%;"></iframe>
</div>
</div>
</div>
Ответ №1:
Просто создайте пользовательский текст, который изменяет его html.
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match www.whateverpage.com
// @icon https://www.google.com/s2/favicons?domain=stackoverflow.com
// @grant none
// ==/UserScript==
//below code selects the html class that stores the height element and //changes the width same thing can be done with height.
//if its an id then do document.getElementByID("idhere");
//if class then do document.querySelector("classhere").height = "760";
document.querySelector(".d21-popup-body").width = "760";
Я надеюсь, что это поможет, но если бы это было не так, я бы предложил поискать манипуляции с DOM с помощью html
Но для вашей ситуации поиск по изменению ширины и высоты с помощью dom js
Понимание DOM, вероятно, очень поможет вам
Ответ №2:
Класс и идентификатор меняются при перезагрузке страницы. Итак, могу ли я сопоставить, используя подстановочный знак? Класс всегда начинается с «d2l-iframe», а идентификатор всегда начинается с «d2l_».
Кроме того, элемент, который я хочу изменить, кажется «стилем», там нет ширины=.
class="d2l-iframe d2l_1_4_428 d2l_1_5_609"
id="d2l_1_3_744" name="d2l_1_3_744"
style="height: 650px; width: 100%;"
Tried this but still not hitting:
// @match *://wvlearns.k12.wv.us*
document.getElementByID("d21_*").style = "height: 89vh; width:100%";
document.querySelector("d2l-iframe*").style = "height: 89vh; width:100%";