我在此处发布了有关Chrome扩展程序的其他问题.
但我还有一个关于扩展的问题.我只需要一个内容脚本来修改Tumblr-Dashboard,没有背景页面或其他东西,对吗?
这是manifest.json文件:
{
"name": "Tumblr - Tiled Dashboard",
"version": "0.0.54",
"manifest_version": 2,
"description": "This extension modifies the look of your Tumblr dashboard.",
"icons": {
"16": "images/icon_16.png",
"48": "images/icon_48.png",
"128": "images/icon_128.png"
},
"content_scripts": [
{
"matches": [ "*://*.tumblr.com/dashboard" ],
"css": [ "styles.css" ],
"js": [ "jquery-2.1.3.min.js", "masonry.min.js", "code.js" ]
}
],
"homepage_url": "mypage",
"author": "myname"
}
Run Code Online (Sandbox Code Playgroud)
首先,我问这是否正常?我已经阅读了很多关于该manifest.json文件的内容,当我在本地尝试扩展时,一切似乎都运行良好.但是当我打包扩展并上传它时,有两个问题:
jquery-2.1.3.min.js文件无法加载.因此,我更改了我的JavaScript文件的顺序以测试它是否是与jQuery文件相关的问题,但是masonry.min.js作为数组中的第一个文件导致了相同的错误.为什么会这样?是manifest.json文件好吗?我需要一些特殊权限吗?
编辑: 这是我尝试从Chrome网上应用店安装扩展程序时的屏幕截图(我也无法通过搜索找到它).

注意:这是我之前的一个后续问题.
我决定通过#posts元素内的扩展程序将帖子显示在仪表板上.现在我的问题是Tumblr在滚动时自动删除帖子的内容.
以下是删除前正常帖子的示例:
<li class="post_container" data-pageable="post_110141415125">
<div class="post post_full ..." [...]>
<!-- ... -->
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
删除其内容后,同一帖子:
<li class="post_container" data-pageable="post_110141415125" style="border-radius: 3px; height: 207px; width: 540px; background-color: rgb(255, 255, 255);">
</li>
Run Code Online (Sandbox Code Playgroud)
由于我的扩展程序将帖子重新定位为类似于pinterest的布局,因此删除帖子的内容会影响整个布局.是否可以阻止Tumblr仪表板移除每个内部的DOM元素.post?
编辑:
我removeChild在我的内容脚本中为该方法添加了这个注入代码:
function addScript(){
var script = document.createElement('script');
script.id = 'newRemoveChildScript'; ///just to find is faster in the code
script.src = chrome.extension.getURL("injectedCode.js");
$($('script')[0]).before(script); ///Script is indeed present, I checked that
} …Run Code Online (Sandbox Code Playgroud)