我想通过href替换网站的CSS文件URL,我知道可以引用包含CSS的外部链接,但是本地文件呢?
document.querySelector("head > link:nth-child(7)").href = "http://example.com/style.css"
答案 0 :(得分:0)
与所有Chrome扩展程序一样,默认情况下,Tampermonkey受到一系列旨在防止开发人员恶意行为的限制。如果Tampermonkey可以不受限制地访问您的文件系统,则用户脚本作者可以轻易滥用权限,在您不知情的情况下窃取或修改您的数据。
您最能做的是在本地计算机上托管服务器(例如,使用Node.js)。这样,您便可以为Tampermonkey提供一个keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE] and shootLoop == 0:
if man.left:
facing = -1
else:
facing = 1
if len(bullets) < 5:
bullets.append(
projectile(round(man.x + man.width // 2), round(man.y + man.height // 2), 6, (0, 0, 0), facing))
shootLoop = 1
if keys[pygame.K_LEFT] and man.x > man.vel:
man.x -= man.vel
man.left = True
man.right = False
man.standing = False
elif keys[pygame.K_RIGHT] and man.x < 500 - man.width - man.vel:
man.x += man.vel
man.right = True
man.left = False
man.standing = False
else:
man.standing = True
man.walkCount = 0
if not (man.isJump):
if keys[pygame.K_UP]:
man.isJump = True
man.right = False
man.left = False
man.walkCount = 0
else:
if man.jumpCount >= -10:
neg = 1
if man.jumpCount < 0:
neg = -1
man.y -= (man.jumpCount ** 2) * 0.5 * neg
man.jumpCount -= 1
else:
man.isJump = False
man.jumpCount = 10
之类的URL,该URL可从您的计算机本地提供。不过,只有在运行服务器时,这才起作用。
或者,您可以创建自己的开发人员模式Chrome扩展程序,该扩展程序在其localhost/style.css
中包含样式表,并根据web_accessible_resources
规则将其插入。但是,这将完全绕开Tampermonkey,因此它无法完全回答问题。
答案 1 :(得分:-1)
一个选项是将本地文件设置为 script ,也许是将所需CSS文本分配给window
属性的选项,然后可以在用户脚本中检索该属性。例如:
// ==UserScript==
// @name local
// @match https://example.com
// @require file:///C:/local.js
// ==/UserScript==
document.head.appendChild(document.createElement('style'))
.textContent = window.cssTextFromLocal;
和
// local.js
window.cssTextFromLocal = `
body {
background-color: green;
}
`;
当然,如果您想无条件执行 (无论每次加载页面如何),都无需进行脚本间通信,可以将<style>
插入到local.js
中的DOM。