在阅读了这里的几篇文章后,我制定了这个函数,这是一堆其他的混合:
function outputFile( $filePath, $fileName, $mimeType = '' ) {
// Setup
$mimeTypes = array(
'pdf' => 'application/pdf',
'txt' => 'text/plain',
'html' => 'text/html',
'exe' => 'application/octet-stream',
'zip' => 'application/zip',
'doc' => 'application/msword',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'gif' => 'image/gif',
'png' => 'image/png',
'jpeg' => 'image/jpg',
'jpg' => 'image/jpg',
'php' => 'text/plain'
);
// Send Headers
//-- next line fixed as per suggestion --
header('Content-Type: ' . $mimeTypes[$mimeType]);
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: …Run Code Online (Sandbox Code Playgroud) 我知道我必须在这里遗漏一些东西,但我似乎无法让它发挥作用.
我使用文档head部分中的样式标记为html文档的主体指定了背景颜色,但是当我尝试通过JavaScript读取它时,我什么也得不到:
<html>
<head>
<style>
body { background-color: #ff0; }
</style>
</head>
<body>
<a href="#" onclick='alert(document.body.style.backgroundColor)'>Click Here</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
..但是,如果我将样式分配为内联,它可以工作:
<html>
<head></head>
<body style='background-color: #ff0;'>
<a href="#" onclick='alert(document.body.style.backgroundColor)'>Click Here</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我知道我遗漏了一些基本的东西,但我的思绪今天不在这个区域 - 谁能告诉我为什么我的第一个场景不起作用?
谢谢
我今天整天都在搜索,发现了很多(好的,好的 - 几打)Bug Trackers,有些是免费的,有些是托管的,有些是非常昂贵的.我很快意识到我没有时间花时间对它们进行评估(特别是因为它们中的很多都有很多我们永远不会使用的功能).
这是我的适度要求清单(至少我认为它们是适度的):
其他任何东西(如维基,电子邮件,论坛,图表等 - 不需要).我们已经有了一个帮助台系统(HelpSpot),所以也不需要那个.
我想我自己可以写一个快速的,或者只是在我们的内部Wiki上创建页面,但是在bug追踪世界中这个轻量级的东西不存在吗?如果您有任何好的推荐,我不介意评估接近上述要求的3或4.
非常感谢 -
添加
前几条建议适用于FogBugz和Bugzilla.我看了两个,虽然它们都非常好(特别是FogBugz),但它们有太多的功能满足我们的需求.我正在寻找的东西(如果它存在)是更基本的东西.谢谢〜
我用jQuery来获取这样的浏览器版本:
var x = $.browser.version;
Run Code Online (Sandbox Code Playgroud)
我得到一个这样的字符串:1.9.1.1
现在,我想做一个评估,所以如果x> = 1.9.1然后做一些事情.不幸的是,有多个小数点,我不能做一个parseFloat(),因为它将1.9.1.1转换为1.9,if if评估将匹配1.9.0版本(我不想要).
有人找到了一种方法来完成将版本号(带有多个小数)转换为可用作评估数字的东西(或其他一些方法来完成我在这里尝试做的事情)?
谢谢 -
试图掌握Javascript中的原型.尝试创建自己的命名空间以扩展JavaScript中的String对象.
这是我到目前为止(一个片段):
var ns {
alert: function() {
alert (this);
}
}
String.prototype.$ns = ns;
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在尝试将一系列函数放入ns命名空间.所以我可以执行这样的命令:
"hello world".$ns.alert();
Run Code Online (Sandbox Code Playgroud)
但问题是,这并没有引用正在发送的文本(在这种情况下,"你好世界").我得到的是一个警告框,其中包含以下内容:
[对象]
由于没有完全掌握JavaScript的面向对象特性,我感到很茫然,但我猜我错过了一些简单的东西.
有谁知道如何实现这一点(从嵌套对象获取源文本)?除此之外,我不得不做程序编程(ns.alert("hello world");)我试图避免.
谢谢 -
我有这个示例页面:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax Page</title>
<script type="text/javascript">
function ajax_hello() {
alert ("hello");
}
alert ("Hello from JS");
</script>
</head>
<body>
This is the Ajax page.
<a href='#' onclick='ajax_hello();'>Click here to fire off JS function</a>.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我这叫它:
new Ajax.Updater($(element), page, { method: "get", evalScripts: true });
Run Code Online (Sandbox Code Playgroud)
警报正在运行,但该函数未注册(ajax_hello()).
有没有办法让ajax将javascript函数注册到调用页面?
我没有在PHP中使用正则表达式的经验,所以我通常使用一系列str_replace(),substr(),strpos(),strstr()等来编写一些复杂的函数(你明白了).
这次我想要正确地执行此操作,我知道我需要使用正则表达式,但我对使用什么(ereg或preg)以及语法应该是多么困惑.
注意:我不解析HTML或XML,有时我将使用除(例如,|或〜或[tag]或::)之外的分隔符.我正在寻找一种使用正则表达式在两个已知分隔符之间进行通配符替换的通用方法,我没有构建HTML或XML解析器.
我需要的是一个替代这个的正则表达式:
<sometag>everything in here</sometag>
Run Code Online (Sandbox Code Playgroud)
有了这个:
<sometag>new contents</sometag>
Run Code Online (Sandbox Code Playgroud)
我已经在线阅读了一些文档,但我很困惑,希望你们中的一个正则表达式专家能够提供一个简单的解决方案.我怀疑我会将值传递给函数,如下所示:
$new_text = swapText ( "<sometag>", $the_new_text_to_go_into_the_dag );
function swapText ( $in_tag_with_brackets_to_update, $in_new_text ) {
// define tags
$starting_tag = $in_tag_with_brackets_to_update;
$ending_tag = str_replace( "<", "</", $in_tag_with_brackets_to_update) );
// not sure if this is the proper regex match string or not
// and/or if any escaping needs to be done on the tags
$find_string = "{$starting_tag}.*{$ending_tag}";
$replace_with_string = "{$starting_tag}{$in_new_text}{$ending_tag}";
// after some regex, this function should return new version of …Run Code Online (Sandbox Code Playgroud) 我理解HTML页面缓存的基础知识.
我的不确定性与缓存如何处理图像,包括外部脚本以及HTML页面使用的CSS样式表有关.
例如,假设我有一个设置为在7天后过期的HTML页面.该页面上有10个图像,2个包含外部CSS(.css)样式表,以及2个外部包含的javascript(.js)文件.
我似乎在不同的浏览器上和/或重新加载或SHIFT + RELOAD操作得到混合结果.
也许有一篇文章解释了它是如何工作的(或应该工作)?
谢谢 -
在元素ID中放置空格字符是否存在任何问题(技术上或其他方面)?例如,像这样:
<li id='something with spaces'>Test123</li>
Run Code Online (Sandbox Code Playgroud)
我明白这是不可取的(我之前从未使用过空格),但是如果可能的话,我已经找到了需要这样做的scneario.
我可能在缩放,任何特定浏览器,脚本或CSS样式方面面临哪些潜在问题(如果有的话)?
是否有任何文章谈论可以使用的"坏人物",但是不应该使用?
谢谢 -
我已经阅读了一些类似的问题和答案,但没有一个完全解决我的问题.
这里是我的情况: 我有什么类似于TinyMCE的(一个家庭BREW版本虽然)一种编辑器.它允许用户输入一些文本,一个或两个图像等.我有代码,它将项目放在那里,并将它们实时渲染成一个较小的div(基本上是一个缩略图).
这就是我想要做的事情 最终,用户可能想在其他地方使用他们的"页面",所以我想让他们去屏幕,查看每个页面的缩略图,然后选择一个.
这是问题 显然,我可以使用相同的缩略图代码来渲染每个页面缩略图.但是,它可能是带宽密集型的(每个页面可能有多个图像,更不用说计算必须多次执行 - 我们在预览页面上可能会说40到50个缩略图).
所以,我想尝试使用缩略图div,并以某种方式创建一个png或jpg,当他们在编辑器中保存页面时(所以页面的代码,也是缩略图),并将其推送到我的PHP脚本将图像保存到服务器.
我的第一个想法是,也许画布可以做到这一点,但是存在将文本和图像首先翻译到画布上的问题,这可能是也可能是不可能的.
就是这样.我对任何和所有选项感兴趣,包括商业图书馆(如果有的话)会这样做 - 唯一的事情是,希望它是在javascript中.