我正在尝试创建一个bookmarklet,在点击后,会从用户请求一些信息(在这种情况下是一个url和几个其他字段),然后将该数据发送到我服务器上的php页面,然后显示结果.
我想为此做一个Ajax调用,以便我实际上不会重定向到新页面,只是获取数据,但我想我会遇到Ajax的"同源策略"限制....是否有任何已知的方式基本上做同样的事情?
另外,传递参数的最佳方法是什么?我已经有一个机制来接收参数作为来自表单的帖子消息......有什么办法可以重用这个吗?
我有一个书签,可以将小部件插入任何网站的页面.小部件的样式被具有以下CSS @font-face声明的特定站点破坏:
@font-face {
font-family: "helvetica";
src: url("http://cdn2.yoox.biz/Os/fonts/helveticaneueltstdmdcn.eot?iefix") format("eot"),
url("http://cdn2.yoox.biz/Os/fonts/helveticaneueltstdmdcn.woff") format("woff"),
url("http://cdn2.yoox.biz/Os/fonts/helveticaneueltstdmdcn.ttf") format("truetype"),
url("http://cdn2.yoox.biz/Os/fonts/helveticaneueltstdmdcn.svg#svgFontName") format("svg");
}
Run Code Online (Sandbox Code Playgroud)
我的书签插入使用黑体无处不在,在这一个网站上的小部件,它看起来可怕,因为浏览器是Helvetica字体映射到@font-face该名称,而不是标准黑体系统字体的声明.
问题:有没有办法覆盖/绕过这个@font-face声明或创建另一个@font-face映射到系统helvetica字体的声明?
有没有办法检测用户在执行javascript书签时是否按住shift键(或其他修饰键)?
在我对Safari 3.1和Firefox 3的测试中,window.event总是未定义的.
我有一个用于重置路由器的书签.我只需要访问并让页面完成加载,然后我的路由器开始重置.
javascript:(function(){w=window.open("http://192.168.0.1/goform/formReboot","","width=1,height=1");self.focus();window.onload=w.close();})();
Run Code Online (Sandbox Code Playgroud)
但它会在弹出窗口中打开.
我的新想法是使用javascript bookmaklet动态地将隐藏的iframe附加到我正在使用的页面,然后在隐藏的iframe中打开url.这甚至可能吗?
我愿意就如何做到这一点提出更好的建议.
为什么这不适用于ff/chrome?
javascript: document.execCommand('SaveAs','true','http://www.google.com');
Run Code Online (Sandbox Code Playgroud)
(用作书签)
我正在尝试编写一个书签,该书签将为当前页面添加书签并将链接保存到后端服务中的当前页面.当我点击这个书签时,我希望这个书签在浏览器标签的右上方显示为一个小弹出窗口(将iframe附加到现有页面).此弹出窗口将包含为当前页面添加书签的选项.此外,还会有选项在此弹出窗口中搜索我的书签,标签等.
到目前为止,我还没有看到任何这样的书签(来自delicioius,pinboard等).虽然有书签可以发布各种服务的链接,但是它们不允许您搜索,请在同一个弹出窗口中查看现有的书签列表.用户被迫在新选项卡中转到书签网站进行搜索等.
我想知道为什么没有像这样的bookmarklets(现有页面中的弹出窗口)没有完成的原因?这有什么安全理由吗?或者被广告拦截者屏蔽?
我正在尝试创建一个bookmarklet,它将更改我当前所在页面的URL,并加载一个更改了URL字符串的新页面.我已经回顾了bookmarklet上的其他一些主题,但我找不到适用于我的解决方案.
我希望能够更改如下所示的URL:
http://mywebsite.com/directory/page.html?转诊=谷歌和访问= 1
至:
http://mywebsite.com/directory/page.html?狗=菲&猫=连指手套
三个目标:
1)删除现有URL中的任何内容?标记.
2)在问号后附加"dog = Charlie&cat = Mittens".
3)使用新URL立即加载此新页面
这似乎很简单,但我还没弄清楚如何做到这一点.任何帮助将不胜感激!
我的bookmarklet包含对插入的"启动器"脚本的调用body.在运行时,它以类似的方式插入更多脚本(jQuery,实际应用程序)和CSS.
小书签
javascript:(function(){
var l = document.createElement('script');
l.setAttribute('type','text/javascript');
l.setAttribute('src','launcher.js');
document.body.appendChild(l);
})();
Run Code Online (Sandbox Code Playgroud)
Launcher.js
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src','my actual script');
document.body.appendChild(s);
// I repeat a block like this once per script/css.
Run Code Online (Sandbox Code Playgroud)
问题是如果单击两次书签,将再次插入所有脚本.我该如何防止这种行为?
我可以在PHP上使用Scrapy,还是有与PHP一起使用的类似工具?
我不是技术人员,只是研究可用的网络抓取工具及其功能,以支持我的技术同事.
如果您尝试使用 Chrome 加载:http : //sdqdsqdqsdsqdsqd.com/
您将获得:
ERR_NAME_NOT_RESOLVED
Run Code Online (Sandbox Code Playgroud)
我希望使用书签,能够获取当前域名并将其重定向到 whois 页面,以检查该域是否可用。
我在控制台中尝试过:
window.location.href
Run Code Online (Sandbox Code Playgroud)
但它输出:
"data:text/html,chromewebdata"
Run Code Online (Sandbox Code Playgroud)
有没有办法检索失败的 URL?