问题标签 [safari-extension]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - XMLHttpRequest 数据可以存储在 localStorage 中吗?
我正在编写一个 Safari 扩展,它使用 jQuery.ajax 为一些 XML 数据生成 XMLHttpRequest。如果我在流程数据函数中执行 console.log(data),我会得到一个可以遍历的项目 Document。
我想将此 ajax 数据存储在 localStorage 中。所以在 processDocument 函数的前几行我有这个:
console.log 会显示:
post-load:本地存储阵列中有 1 项。
post-load data: [object Document]
post-load myData: [object Document]
所以看起来我这里有有效数据。但是 messageHandler 函数在响应工具栏上的按钮时也会像这样轮询本地存储:
此处的控制台日志会显示:
本地存储阵列中有 1 项。
0:未定义
myData 已定义
为了将此 XML 数据正确存储在 localStorage 中,我需要做些什么吗?localStorage 不应该保留这个对象的完整性吗?也许我在这里遗漏了一些东西。
javascript - 查找网址并替换?
有什么办法可以做到这一点...用户按下按钮,按钮找到所有网址,example.com
并将其替换为sub.example.com
?
javascript - Safari 扩展中的弹出窗口
我正在尝试构建我的第一个 safari 扩展程序,但我对一些基本概念不知所措。
第一个障碍是从工具栏按钮打开一个弹出窗口,就像 Ebay Safari 扩展一样。
jquery - 如何使用 JQuery 将一个 URL 更改为另一个 URL
我有以下脚本:
我想要发生的是,当按下菜单栏按钮时,它会运行介于两者之间的代码(在这种情况下,('a[href="http://example.com"]').attr('href', 'http://sub.example.com');
),它会找到所有链接并将它们替换为修改后的版本。我怎样才能做到这一点?
javascript - 在新窗口/活动选项卡中打开 URL
我知道如何在新标签中打开一个窗口:
我知道如何创建一个新窗口:safari.application.openBrowserWindow();
如何在新创建的窗口中打开 URL?或者如何在 activeBrowerWindow 的活动选项卡中打开 URL?
javascript - 注入脚本和 https
是否允许 Safari 扩展注入脚本访问安全页面?当我尝试访问 GMail 的安全页面时,我在“ServiceLogin”处进入了 console.log “Script Cancelled”。
javascript - Safari 扩展修改为主页内的 iframe
嗨,我编写了简单的 Safari 扩展程序来显示带有当前访问网站的 URL 的 QR 码。这是我将代码附加到页面的代码的一部分。
一切都很好,但糟糕的是,代码也附加到 iframe 内容中。如果每个站点都包含 facebook 之类的框和许多其他废话,这实际上是一个讨厌的问题:D 我可以以某种方式仅将元素附加到主体吗?我什么时候会使用某种“body child of body”选择器它不起作用..它根本不能,因为有两个独立的 DOM?我对吗?
谢谢你的建议,希望你能理解我的问题。。
javascript - Safari 扩展在每个页面上覆盖一个 iframe
我正在编写一个 Safari 扩展程序。当我单击工具栏中的按钮时,它需要在页面顶部覆盖来自另一个来源的内容。
如何将它定位在浏览器的左上角,在内容的顶部?当我点击关闭按钮时,iframe 应该被销毁,显示之前被掩盖的内容?
谢谢!
javascript - Safari 扩展修改 iframe?
所以我放弃了试图保护我注入的脚本的 jQuery UI 对抗世界上所有的 CSS。我决定创建一个 iframe。
当我单击工具栏按钮时,我在注入的脚本中有此代码,以查看 iframe 是否存在:
如果#myiframe 不存在,我将创建它。我使用 popup.html 作为 iframe 的 src。在 popup.html 中,我有一个 id 为“content”的 div。我的目标是将一堆 HTML 数据的 strData 填充到带有 append 的#content 中。这是行不通的。
iframe 被完美地绘制,并根据我单击按钮打开和关闭。但我无法附加 strData。我知道可以做到,但我不知道怎么做。这里有一个例子http://mg.to/test/dynaframe.html但是当我尝试这种方法时,下面的内容完全空白。帮助!
javascript - Jquery 出现奇怪的 firefox-safari-chrome-ie8+ 扩展问题
我为firefox和google chrome、safari和ie8+开发了一个扩展。它在 google 邮件界面中插入一个按钮。该按钮应该在电子邮件页脚中插入一些自定义文本。如果我访问标准的谷歌邮件地址(你可以在这里和这里观看) ,它在所有四个上都可以正常工作。
相反,如果我通过谷歌应用程序访问 gmail ,它几乎都会失败。唯一运行良好的插件帽子是谷歌浏览器。在所有其他人中,该按钮已正确添加,但是当我单击它时,这不会在电子邮件页脚中添加任何内容并产生以下错误。
在 Firefox 中,我得到以下 jquery 错误控制台:
在萤火虫中:
此外,在 Safari 中:
在 Internet Explorer 中仅撰写邮件作品,转发和回复没有。
这是我注入 gmail 网页的 jquery 代码: