Немного предыстории:
На работе я использую онлайн-систему, специально разработанную для моей компании. У него есть несколько модулей и множество недостатков, и мы не получаем никакой реакции от команды разработчиков относительно технических трудностей (владелец компании, которая разработала и поддерживает систему, имеет связи с моими боссами в семье и дружбе, поэтому наши жалобы немного чего делать).
Вот моя текущая проблема:
Один из модулей имеет некоторые теги <link>
и <script>
, которые были запрограммированы неправильно. Вот фрагмент кода:
<head>
<title>pag_central</title>
<script src="//js/jquery-1.6.4.min.js"></script>
<link rel="stylesheet" media="all" type="text/css" **href="//css/examples.css"** />
<link rel="icon" **href="//images/favicon.ico"** type="image/x-icon">
<link rel="shortcut icon" **href="/i/favicon.ico"** type="image/x-icon">
<!-- link rel="stylesheet" type="text/css" **href="//css/apexSiop.css"** -->
<script src="//js/boxover.js" type="text/javascript"></script>
<link rel="stylesheet" href="//css/estilos.css" type="text/css" />
<link rel="stylesheet" href="/i/css/apex.min.css?v=4.2.5.00.08" type="text/css" />
...
</head>
Есть некоторые src
и href
, которые браузер не может найти из-за двойной косой черты.
Я хочу создатьрасширение для моего браузера, которое изменяет атрибут на тех неправильных элементах, чтобы они загружали нужные файлы.
Я попытался с расширением, но не смог сделать это (он загружается, затем позже изменяет атрибуты без загрузки правильного адреса).
Есть ли способ сделать это для меня?
В Chrome было несколько таких ошибок (Firefox занимает более 2000 мс, прежде чем отказаться от ресурса):
Не удалось загрузить ресурс: net :: ERR_NAME_NOT_RESOLVED boxover.js: 1
То, что мне удалось встроить (в надстройку) с использованием приведенной ниже информации, было:
var children = document.getElementsByTagName("head")[0].children;
for (var i = 0; i < children.length; i++) {
var tableChild = children[i];
if(tableChild.hasAttribute("src")){
tableChild.src.replace("https://","example.com/");
}
if(tableChild.hasAttribute("href")){
tableChild.href.replace("https://","https://example.com/");
}
}
Это работало до определенного момента, но на самом деле не делало то, что мне нужно.
Вы можете помочь?