代码:
video
说明
这个问题更多的是想知道为什么会发生这种情况而不是试图修复它。
扩展点是,我是从我的兄弟那里得到的,因为他想从123movies.is下载视频而不下载病毒。我原本打算通过我的网站组合网站,但后来我注意到扩展它会更容易。
当我在个人电脑上本地托管文件时,一切正常。当电影页面加载时,它会打开一个带有Uncaught TypeError: Cannot read property 'src' of undefined
at showpanel (chrome-extension://pefemfiejenbjbbbilkiejfnpcjpeoaf/content.js:2)
标签的src的新标签,我只需按下下载按钮即可。但是当我将扩展文件发布到谷歌浏览器网页商店时,每当我加载电影页面时,我都会收到以下两个错误:
Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
<?xml version="1.0"?>
<FrameLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBackground">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="51dp"
android:layout_height="51dp"
android:layout_gravity="bottom"
android:layout_margin="16dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:clickable="true"
android:onClick="add_item"
android:src="@mipmap/plus_two"
app:backgroundTint="@color/colorPrimary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.984"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.982" />
</android.support.constraint.ConstraintLayout>
<ListView
android:id="@+id/lv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="16dp" />
</FrameLayout>
只有在将扩展程序发布到网上商店时才会导致这些错误?
答案 0 :(得分:0)
如果不看整个项目,很难知道究竟是什么导致了这个问题。
但是,我会做一些事情。 1)在其中一个目标页面的控制台中运行您的代码。 2)尝试使用简单的控制台日志语句将扩展加载到chrome Web商店,该语句仅在您尝试定位的站点上运行。然后你知道问题是代码还是扩展清单。清单通常是扩展初学者才能做到最难的部分。 3)如果这样做,并且代码与扩展中的代码相同,那么你就是在看它为什么
document.getElementsByClassName("jw-video")[0]
从Webstore运行时,未定义。首先,我将函数绑定到事件
document.addEventListener("DOMContentLoaded", function(event) {
console.log("DOM fully loaded and parsed");
showpanel();
});
而不是将其设置为在计时器上运行。然后我会在document_start注入脚本而不是document_end。扩展中任何未定义的消息都可能与清单中内容脚本的注入有关,很可能是注入的时间或与网站协议匹配的权限。