---更新----
经过更多的实验,我已经确定我写的内容脚本不是问题.例如,如果我将扩展名简化为:
var buttons = require('sdk/ui/button/action');
var data = require("sdk/self").data;
var self = require("sdk/self");
var button = buttons.ActionButton({
id: "library-link",
label: "External Resource Locator",
icon: self.data.url("icon-16.png"),
});
Run Code Online (Sandbox Code Playgroud)
当我通过SDK运行扩展时,该按钮仍然会出现,但是当我在当前的firefox浏览器(版本38,在某些平台上)安装xpi时,该按钮不会出现.这个问题似乎是在他们的设计过程中发生在一个非常基础的层面上.
我正在尝试为firefox编写一个简单的扩展,它将一个表单附加到当前页面并将数据发布到另一个站点.它可以通过操作按钮或上下文菜单项来调用.
我一直在使用附加sdk进行开发,当我用cfx run它进行测试时,它工作正常.但是,在cfx xpi将扩展程序安装到我的firefox浏览器之后,它根本不起作用.操作按钮和上下文菜单项不会出现,虽然扩展显示在加载项 - >已安装和启用的扩展下,但不会显示与xpi一起打包的图像.
我不确定是什么导致这个,我的代码相当简短,所以我将添加我的整个main.js:
var buttons = require('sdk/ui/button/action');
var data = require("sdk/self").data;
var contextMenu = require("sdk/context-menu");
var self = require("sdk/self");
var menuItem = contextMenu.Item({
label: "Look for selected text in the Library of Babel",
context: contextMenu.SelectionContext(),
contentScript: 'self.on("click", function () {' +
'var text = …Run Code Online (Sandbox Code Playgroud) 随机问题。
我正在尝试创建一个可以生成伪随机分布的程序。我正在尝试找到适合我的需求的伪随机算法。这些是我的担忧:
1)我需要一个输入来在每次使用时生成相同的输出。
2) 它需要足够随机,以便查看输入 1 的输出的人看不到该输出与输入 2 的输出(等等)之间的联系,但它不需要密码安全或真正随机。
3)它的输出应该是 0 到 (29^3200)-1 之间的数字,该范围内的每个可能的整数都是可能且同等(或接近)可能的输出。
4) 我希望能够保证 410 个输出序列的每个可能排列也是连续输入的潜在输出。换句话说,0 到 (29^3200)-1 之间的 410 个整数的所有可能分组都应该是顺序输入的潜在输出。
5)我希望该函数是可逆的,这样我就可以采用一个整数或一系列整数,并说出哪个输入或一系列输入会产生该结果。
到目前为止我开发的方法是通过一个简单的 halson 序列运行输入:
boost::multiprecision::mpz_int denominator = 1;
boost::multiprecision::mpz_int numerator = 0;
while (input>0) {
denominator *=3;
numerator = numerator * 3 + (input%3);
input = input/3;
}
Run Code Online (Sandbox Code Playgroud)
并将结果乘以 29^3200。它满足要求 1-3,但不满足 4。并且它仅对于单个整数是可逆的,而不是序列(因为并非所有序列都可以由它产生)。我正在 C++ 中工作,使用 boost 多精度。
有人可以给我任何关于生成满足这些要求的随机分布的方法的建议,或者只是一类值得为此目的研究的算法,我将不胜感激。预先感谢您考虑我的问题。
- - 更新 - -
由于多个评论者都关注相关数字的大小,我只是想明确表示,我认识到使用此类集合所带来的实际问题,但在提出这个问题时,我只对理论或概念方法感兴趣问题 - 例如,想象一下使用更小的整数集(如 0 到 99),以及 10 个输出序列的排列。您将如何设计一个算法来满足这五个条件 - 1)输入是确定性的,2)看起来是随机的(至少对于人眼来说),3)范围内的每个整数都是可能的输出,4)不仅仅是所有值,而且值序列的所有排列都是可能的输出,5)函数是可逆的。
---第二次更新---
非常感谢@Severin Pappadeux,我能够反转 lcg。我想我应该添加一些关于我所做的事情,希望能让将来看到这一点的人更容易。首先,这些是关于反模函数的优秀资源:
我有一个使用transform:rotation的页面,但是在元素未旋转的情况下留了一个大空白。我发现其他几个人也提出了类似的问题,但是我无法调整这些答案来解决我目前的问题。我认为它们可能包含正确的解决方案,并且在尝试将其应用于我的案例时犯了一个错误:
这是一个jsfiddle来向您展示问题:
https://jsfiddle.net/jonotrain/L2h12qm5/
如您所见,旋转的文本下方有很多空白。我希望文本以相同的地方结尾,没有空白。
这是HTML:
<BODY>
<DIV class = "titles" id = "sideways" style = "position: relative;">";
<p class = "volumes" id="volumes"></p>";
<ul class = "titles">
<li>ale.imzqzfojdobcggydk</li>
<li>mouwl sxjjwrk,osbl</li>
<li>cqjpjfeqhgovtto</li>
....
</ul>
</DIV>
</BODY>
Run Code Online (Sandbox Code Playgroud)
和CSS:
div.titles {
-ms-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-o-transform: rotate(90deg);
display: inline-block;
right: 0;
left: 367px;
height: 260px;
top: -4px;
}
p.volumes {
padding: 0;
font-family: "Arial Narrow";
line-height: 220%;
font-size: 10;
}
ul.titles {
list-style-type: none;
text-align: center;
}
ul.titles li { …Run Code Online (Sandbox Code Playgroud) -----更新------
我注释掉了window.URL.revokeObjectURL( imgSrc );,现在调用适用于所有浏览器.看起来这个网址在Chrome中过早被撤销了.我仍然很想知道为什么会这样,并且知道我现在处理撤销URL的方式是否存在任何人的意见.我现在撤销最后一个URL,因为下一个URL已加载if (imgSrc) {window.URL.revokeObjectURL( imgSrc );}(imgSrc现在是一个全局变量).
我有一个网站,它使用AJAX调用CGI脚本,输出图像/ jpeg数据,然后使用createObjectURL函数将blob响应设置为页面上图像的src.目前它适用于所有浏览器,但Chrome.
在所有其他浏览器中显示图像,但在Chrome中我收到消息:Failed to load resource: the server responded with a status of 404 (Not Found)后跟一个前缀为的网址blob:.
我尝试过使用webkitURL,但是这给了我同样的错误webkitURL is deprecated.
这是我的AJAX调用的代码:
var filepath = "/babelia.cgi";
xmlhttp=new XMLHttpRequest();
xmlhttp.onload = function(oEvent) {
if (imgSrc) {window.URL.revokeObjectURL( imgSrc );}
var blob = xmlhttp.response;
if (endless) {
imgSrc = (window.URL ? URL : webkitURL).createObjectURL( blob );
document.getElementById("palette").src = imgSrc;
// window.URL.revokeObjectURL( imgSrc );
babel();
}
}
xmlhttp.open("POST",filepath,true); …Run Code Online (Sandbox Code Playgroud) 我在网上找到了很多关于使用ImageMagick的命令行函数创建随机噪声图像的文档,但是还没有弄清楚如何在Magick ++中重现它.
ImageMagick有+噪音方法随机:
convert -size 100x100 xc: +noise Random random.png
我希望能够将像素设置为Color("random"),例如:
sought.extent(Geometry(640,416), Color("random"), CenterGravity);
在随机噪声的画布中嵌入较小的图像.当然,随机不是Color的可接受的论据,但我想知道是否存在等价物?理想情况是,如果还可以限制颜色范围 - 例如仅12位(#000-#FFF).
c++ ×2
image ×2
javascript ×2
random ×2
ajax ×1
algorithm ×1
blob ×1
cgi ×1
css ×1
firefox ×1
html ×1
imagemagick ×1
lcg ×1
magick++ ×1
mozilla ×1
permutation ×1
whitespace ×1