我正在使用 html 表。我的要求是,我想监听行数的变化。有办法实现这个目标吗?
注意:我这里没有添加/删除行功能来实现。
此外,我已经尝试过这个,
$("#myTable>tbody>tr").watch("length", function () {
alert("row count changed..")
});
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码对我不起作用。你们中有人知道该怎么做吗?
提前致谢,
-拉贾。
我正在尝试构建一个基本的 Chrome 扩展程序,该扩展程序从浏览器操作弹出窗口中,在新选项卡中打开一个网站,并填写登录凭据。我可以使用 Chrome 扩展程序打开新页面,但似乎无法将文本输入到输入字段中。
清单文件
{
"manifest_version": 2,
"name": "Vena",
"description": "This extension will allow users to login to vena accounts",
"version": "1.0",
"browser_action": {
"default_icon": "images/icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab"
]
}
Run Code Online (Sandbox Code Playgroud)
弹出窗口.html
<!doctype html>
<html>
<head>
<title>Auto-Login</title>
<script src="popup.js"></script>
</head>
<body>
<h1>Login</h1>
<button id="checkPage">Login!</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
弹出窗口.js
document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('checkPage');
checkPageButton.addEventListener('click', function() {
var newURL = "https://vena.io/";
chrome.tabs.create({ url: newURL });
var loginField = document.getElementsByClassName('js-email form-control input-lg');
var passwordField = document.getElementsByClassName('js-password …Run Code Online (Sandbox Code Playgroud) 如何检测文档何时更改?
我知道我可以这样做:
var lastHTML = document.body.innerHTML;
setInterval(function() { if(document.body.innerHTML != lastHTML) { DOMupdated() } }, 500);
Run Code Online (Sandbox Code Playgroud)
但是有没有我可以放置的事件处理程序,比如onchange?
我向服务器发出 AJAX 调用来读取文件并获取返回值作为响应。如果请求成功,那么我将元素中的innerHTML 替换为带有响应值的<p>id 。output现在,如果值发生变化,我会尝试每次都发出警报。我尝试向我的<p>元素添加一个事件,以便我可以检测变量是否已更改并触发我的函数:
<p id="output"></p>
<script>
$("#output").change(function() {
alert("HELLO WORLD!");
});
</script>
Run Code Online (Sandbox Code Playgroud)
没有alert()出现。
我需要在添加特定属性时获取数据。我读过这篇文章:Is There a JavaScript/jQuery DOM Change Listener?
var observer = new MutationObserver(function (mutations, observer) {
// fired when a mutation occurs
$.each(mutations, function(index, mutation) {
var post = $(mutation.target).find('div[class^="ContentWrapper"]');
});
});
observer.observe(document, {
subtree: true,
attributes: true
});
Run Code Online (Sandbox Code Playgroud)
这种方法存在一个问题,因为事件太多并且扩展非常慢,是否可以选择按特定属性过滤突变?
我一直在使用chrome.webNavigation.onCommitted和onCompleted听众成功地检测到页面的变化,但现在有一些网站,加载新的网页完全只用URL的散列部改变。这些更改不会触发这两个侦听器。有什么方法可以指示 chrome.webNavigation API 监听 URL 中的这些更改?或者 Chrome 扩展程序中是否有其他方法可以做到这一点?
我正在开发一个 Chrome 扩展,它与 Twitter 交互并在用户访问 twitter.com/home 时注入内容脚本。我在 manifest.json 中声明了 content_scripts,并且在 twitter.com/home 上一切正常。但是,当我访问 twitter.com 时,它会重定向到 twitter.com/home 并且扩展程序不会注入内容脚本。将“twitter.com”添加到 manifest.json 中的“匹配”列表中可以解决问题,但我希望扩展仅在 twitter.com/home 加载时注入脚本。我正在考虑使用 webNavigation API 来检测重定向,但我想知道是否有更有效的方法来实现这一点。谢谢!
清单.json
"name": "xxx",
"version": "1.0",
"description": "abc",
"permissions": [
"activeTab",
"declarativeContent",
"storage"
],
"content_scripts": [
{
"matches": ["https://twitter.com/home", "https://twitter.com/"],
"run_at": "document_idle",
"js": ["script.js"]
}
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud) 理论上,如果我设置 run_at,则用于选择页面上元素的 .js 应该在页面完全加载后触发。但事实似乎并非如此。
在我的 content.js 中,我有
"content_scripts": [
{
"js": ["extensions/jquery-2.2.2.min.js", "content.js"],
"run_at": "document_idle"
}
]
Run Code Online (Sandbox Code Playgroud)
在我的 content.js 中,我只有:
alert("alert");
console.log("hello");
var fullname2 = $('#topcard').find('.profile-info').find('h1').text();
console.log(fullname2);
Run Code Online (Sandbox Code Playgroud)
警报和第一个 console.log 都有效。第二个控制台日志不记录任何内容,因为选择器未能选择任何内容。我知道这一点是因为如果我为 content.js 代码块添加 setTimeout,并等待 2 秒,第二个控制台日志将正确显示 fullname2。
知道为什么 content.js 明显在页面完全加载之前触发,导致选择器找不到任何东西吗?
我的内容脚本如何检测 Google 搜索的刷新?我相信这是页面的 AJAX 重新加载,而不是“真正的”刷新,因此我的事件不会检测到刷新。
是否可以在 Google Chrome 扩展和 Firefox WebExtensions 附加组件中以某种方式检测到它?
我正在学习制作 chrome 扩展。我遇到了一个问题,当alert("test");onload 未激活时,我想要运行的上下文脚本(即使只是)也无法运行。当您按后退箭头访问上次访问的页面时,也会发生这种情况。我注意到网址发生了变化,但没有任何激活。我如何检测到这一点?如果答案是服务人员,那么详细的解释将不胜感激。
我有一个以下脚本,我需要检测:
我不能在按钮本身上使用这个逻辑.
有什么活动?你能提供代码样本吗?
http://jsbin.com/sewerumive/1/
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script>
window.App = {
start: function () {
var btn = document.getElementById('addContent');
btn.addEventListener('click', function () {
var body = document.getElementsByTagName('body')[0];
body.innerHTML += '<p>ADDED LATER - Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a …Run Code Online (Sandbox Code Playgroud)