小编Wla*_*ant的帖子

PHPExcel保存CSV也是在添加网页HTML

我有一个网页,其中有一个广播组作为您要保存的文件格式的选项.选项包括:

  • 的.xls
  • .XLSX
  • 的.csv

所有工作,但.csv,因为它也将页面HTML添加到文件的底部.

这是我正在尝试的(代码片段显示功能):

// Creating the format
$data = $this->getQueryResults();

$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setTitle("Report"); 

$objPHPExcel->getProperties()->setCreator("me");     
$objPHPExcel->getProperties()->setLastModifiedBy("me");                 
$objPHPExcel->getProperties()->setSubject("Report Stuff");     
$objPHPExcel->getProperties()->setDescription("Report Stuff");

// Next I iterate through the data array
$objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell);
$objPHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true);

// check the radio option selected for the file format
if($this->radioXLS->Checked) {
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$excel_name.'.xls"');
    header('Cache-Control: max-age=0');
}

if($this->radioXLSX->Checked) {
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$excel_name.'.xlsx"');
    header('Cache-Control: max-age=0');
}

if($this->radioCSV->Checked) {
    ob_end_clean(); // add/removing this does nothing
    $objWriter = …
Run Code Online (Sandbox Code Playgroud)

php csv file-extension prado phpexcel

3
推荐指数
1
解决办法
9399
查看次数

Firefox在编译正则表达式的长字时抛出了太复杂的错误

我有一个正则表达式如下:

var str="checkedchec  ";
var patt=/.*(?:\w+|\S)*\s+(or|and|not|xnot|near|near\d+|onear|onear\d+|title\:|ingress\:|\?|\*|\^|sourceid\:|author\\:|url\:|country\:)\s+.*/i;

var newStr = str.split(patt);

var result=patt.test(str);
Run Code Online (Sandbox Code Playgroud)

上面的正则表达式工作得很好,但是当我有一个长度超过11个字符的字符时,除了Mozilla firefox之外,它给出了"表达式太复杂".它适用于IE和Chrome.

javascript regex firefox

3
推荐指数
1
解决办法
206
查看次数

仅关闭具有firefox扩展名的特定选项卡

我正在开发一个firefox扩展,我希望能够关闭一个特定的选项卡.例如,如果浏览器中有许多打开的选项卡,则只想关闭具有特定URL的选项卡.

我知道我可以使用gBrowser.removeTab(tab),但我不知道如何获取tab对象.另一方面,我可以获得与url对应的浏览器,但removeTab()函数的param必须是"tab对象".我如何得到标签对象.

有任何想法吗?

firefox tabs firefox-addon

3
推荐指数
1
解决办法
1876
查看次数

在Page-Mod中使用远程内容脚本文件/ Javascript

有没有办法轻松使用远程javascript文件作为内容脚本与page-mod API

我正在尝试构建一些简单的插件供我自己使用,以自动化一些重复的东西.因为我将要修改的页面会不时更改,我将需要相应地更新"内容脚本"javascript,如果我只需要在我的服务器上编辑它并且插件/扩展将再次工作,那将是很好的无需编辑和重新打包xpi.我很确定我能够一起破解可以实现这一目标的东西,但是如果有任何简单的方法可以做到这一点我都是耳朵:)

firefox-addon firefox4 firefox-addon-sdk

3
推荐指数
1
解决办法
1292
查看次数

如何使用Firefox Add-On SDK获取所选文本?

我正在尝试使用在线Add-On SDK创建一个Firefox附加组件.

我从一些简单的东西开始 - 我想添加一个工具栏按钮来读取当前选定的文本.

Selection对象的文档使这看起来很简单:

var selection = require("selection");
if (selection.text)
  console.log(selection.text);
Run Code Online (Sandbox Code Playgroud)

这似乎对我不起作用,我得到了null.

这是我的完整代码:

var selection = require("selection");

require("widget").Widget({
    id: "widgetID1",
    label: "Test Mozilla Widget",
    contentURL: "http://www.mozilla.org/favicon.ico",
    onClick: function(event) {
        console.log('selection.text = ' + selection.text);
    }
});
Run Code Online (Sandbox Code Playgroud)

我也尝试selectiononClickeven中创建对象,效果相同.
我能够使用该select事件获得有关新选择的通知,所以我想我可以使用它而不是(并保留值),但我想知道为什么上面的代码不起作用...我做错了什么?

firefox firefox-addon firefox-addon-sdk

3
推荐指数
1
解决办法
1731
查看次数

与Firefox附加脚本和内容脚本的并发性

当我使用Add-on SDK编写Firefox附加组件时,我注意到附加代码和内容脚本代码阻止了彼此的执行.此外,附加代码似乎甚至阻止了与其他Firefox窗口(不仅仅是标签)的交互.

Firefox附加组件的并发/进程模型是什么?

是否可以在没有合作多线程(la定时器)的情况下同时运行附加代码和内容脚本代码?

加载了多少次加载代码?每个窗口一次?每个标签一次?一旦?

文件规定:

Mozilla平台正朝着一个模型发展,在该模型中,它使用单独的流程来显示UI,处理Web内容和执行附加组件.主要附加代码将在附加组件进程中运行,并且不能直接访问任何Web内容.

所以我希望将来它们确实是不会相互干扰的独立过程,但现在似乎并非如此.


更新:

我已尝试使用附加代码中的页面工作程序,但不幸的是,它仍会阻止内容脚本(以及所有其他javascript).我也尝试在页面工作者中使用Web worker,但是在调用web worker的postMessage函数时出现以下错误.

TypeError:worker.postMessage不是函数

我还尝试在page-worker中创建iframe,然后在iframe中创建一个web worker,但遗憾的是我不能使用page-worker中的window.addEventListener.我收到以下错误:

TypeError:window.addEventMessage不是函数

最后,我尝试将脚本(通过脚本元素)注入页面工作者页面,以创建一个似乎有用的Web工作者.不幸的是,我无法与此Web工作者通信,因为我只能通过document.defaultView.postMessage向其发送消息.

哦,我编织的缠结的网...

content-script - > add-on - > page-worker - > iframe - > web worker - >我的代码


我举了一个简单的例子:

的package.json

{
    "name": "test", 
    "author": "me", 
    "version": "0.1", 
    "fullName": "My Test Extension", 
    "homepage": "http://example.com", 
    "id": "jid1-FmgBxScAABzB2g", 
    "description": "My test extension"
}
Run Code Online (Sandbox Code Playgroud)

LIB/main.js

var data = require("self").data;
var pageMod = require("page-mod");

pageMod.PageMod({
    include: ["http://*", "https://*"],
    contentScriptWhen: "start",
    contentScriptFile: [data.url("content.js")],
    onAttach: function (worker) …
Run Code Online (Sandbox Code Playgroud)

firefox-addon firefox-addon-sdk

3
推荐指数
1
解决办法
3237
查看次数

URL匹配firefox插件中的模式

我无法弄清楚如何在Firefox插件中使用正则表达式匹配模式(使用附加组件生成器).我试过用match-pattern.

main.js看起来像这样:

var { MatchPattern } = require("match-pattern");
//Matching all urls containing moz and chrome
var pattern = new MatchPattern(/.*moz.*/);
var pattern2 = new MatchPattern(/.*chrome.*/);

var pageMod = require("page-mod");
var data = require("self").data;

pageMod.PageMod({
    include: [pattern, pattern2],
    contentScriptWhen: 'ready',
    contentScriptFile: [data.url('jquery-1.7.1.min.js'),data.url('jquery-ui.js')]

});
Run Code Online (Sandbox Code Playgroud)

但错误控制台显示此错误:

时间戳:3/19/2012 9:03:34 PM错误:发生异常.回溯(最近一次调用最后一次):文件"资源://jid0-m6oqvn6bm6wcoo89bddsxwddkou-at-jetpack/api-utils/lib/match-pattern.js",第87行,在MatchPattern_test中.thegexp.exec(urlStr)[0 ] == urlStr)TypeError:this.regexp.exec不是函数

我在这做错了什么?我可以在include数组中传递正则表达式匹配模式pageMod吗?任何帮助,将不胜感激.

pattern-matching firefox-addon firefox-addon-sdk

3
推荐指数
1
解决办法
1892
查看次数

不同的字体大小只适用于Firefox

我只是为我的网站添加一个帐户标题,只显示玩家用户名.

我使用自定义字体,它在chrome和IE上工作正常,但对于Firefox,它不显示自定义字体,只显示下一个可用字体Verdana.我不介意,但我的问题是字体Verdana的大小比我的自定义字体小,所以如果我将其设置为7.5pt作为字体大小,自定义字体显示两倍的大小.无论如何我可以为Firefox设置更高的字体大小?

以下是用户名所在的div的css:

font-size: 7.5pt;
color: #9f1717;
text-align: center;
font-family: xirod, xirodeot, Verdana, Geneva, sans-serif;
Run Code Online (Sandbox Code Playgroud)

html css firefox cross-browser css3

3
推荐指数
1
解决办法
8616
查看次数

在chrome扩展中添加多个外部域

我正在构建一个Chrome扩展程序,它使用多个API.目前我已将其设置为可以使用其中一个API,但尝试向清单添加第二个将无效.我尝试了一些导致扩展无法工作或清单文件无效的事情.

"content_security_policy": "script-src 'self' https://domain-1.com; object-src 'self'",
"content_security_policy": "script-src 'self' https://domain-2.com; object-src 'self'"
Run Code Online (Sandbox Code Playgroud)

提供无效的清单错误

"content_security_policy": "script-src 'self' https://domain-1.com; https://domain-2.com; object-src 'self'",
Run Code Online (Sandbox Code Playgroud)

仅适用于第一个域

"content_security_policy": "script-src 'self' https://domain-1.com, https://domain-2.com; object-src 'self'",
Run Code Online (Sandbox Code Playgroud)

提供无效的清单错误

javascript google-chrome google-chrome-extension

3
推荐指数
1
解决办法
1444
查看次数

<br />不在Firefox中工作

我正在写一些代码,并希望在两个输入之间有一些空间,并且<br />在Firefox中不起作用:

<input type="text" id="X_Axis" /><br />
<input type="text" id="Y_Axis" />
Run Code Online (Sandbox Code Playgroud)

无的<br />,<br/>,</br>工作.

PS我没有在任何其他浏览器中尝试过,所以它可能不是Firefox,正如我想的那样.

html css firefox

3
推荐指数
2
解决办法
1万
查看次数