我正在使用CSS来指示jQuery向下滑动部分的触发器文本:即,当您将鼠标悬停在触发器文本上时,光标将变为指针,并且触发器文本的不透明度会降低以指示文本具有单击操作.
这在Firefox和Chrome中运行良好,但在IE8中,不透明度不会改变.
我尝试了各种CSS设置但没有成功.
例如
HTML:
<h3 class="slidedownTrigger">This is the trigger text</h3>
Run Code Online (Sandbox Code Playgroud)
CSS:
.slidedownTrigger
{
cursor: pointer;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
filter: alpha(opacity=75);
-khtml-opacity: 0.75;
-moz-opacity: 0.75;
opacity: 0.75;
}
Run Code Online (Sandbox Code Playgroud)
什么阻止IE改变不透明度?注意:我已经尝试了各种不同的元素,交换CSS语句的顺序,并且只是自己使用IE.我也试过用
-ms-filter: "alpha(opacity=75)";
Run Code Online (Sandbox Code Playgroud)
但没有成功.
我已经完成了尝试在IE8中进行不透明度修改的事情.
有任何想法吗?
我的程序根据要求生成相对简单的PDF文档,但是我遇到了unicode字符的麻烦,比如汉字或奇数数学符号.要在PDF中编写普通字符串,请将其放在括号中:
(something)
Run Code Online (Sandbox Code Playgroud)
还可以选择使用八进制代码转义字符:
(\527)
Run Code Online (Sandbox Code Playgroud)
但这最多只能达到512个字符.你如何编码或逃避更高的字符?我已经看到了对字节流和十六进制编码字符串的引用,但我读过的所有引用似乎都不愿意告诉我如何实际执行它.
编辑:或者,指向一个好的Java PDF库,它将为我完成这项工作.我正在使用的是gnujpdf的一个版本(我修复了几个错误,因为原作者似乎已经破解了),这允许你针对AWT图形界面进行编程,理想情况下,任何替换应该做相同.
替代方案似乎是HTML - > PDF,或基于段落和方框的编程模型,感觉非常像HTML.iText是后者的一个例子.这意味着重写我现有的代码,我不相信他们会给我相同的灵活性.
编辑2:我之前没有意识到,但iText库有一个Graphics2D API,似乎完美地处理unicode,所以这就是我将要使用的.虽然它不是问题的答案,但它解决了我的问题.
编辑3: iText对我很有用.我想这一教训是,当面对一些看起来毫无意义的困难时,找一个比你更了解它的人.
我需要一个Ant脚本,将一个文件夹复制到其他几个地方.作为一个优秀的顺从程序员,我不想重复自己.有没有办法采取这样的文件集:
<copy todir="${target}/path/to/target/1">
<fileset dir="${src}">
<exclude name='**/*svn' />
</fileset>
</copy>
Run Code Online (Sandbox Code Playgroud)
并将其存储fileset在变量中以便可以重复使用?
Web开发人员可用的字体集合令人沮丧.我记得早就读过关于TrueDoc的文章,作为一种在网站上发布字体的一种方式 - 但它似乎已经萎靡不振.有没有人用过这个或类似的东西?是否有足够的浏览器支持?我错过了一个好的解决方案吗?
请注意,负责任的Web开发人员不使用仅在Windows上可用的字体(尤其是仅在Vista上可用的字体),也不使用至少大多数浏览器不支持的技术.
更新:正如几位人士指出的那样,为没有您使用的特定字体的人提供后备字体列表没有任何问题.事实上我总是这样做,并不意味着这是错误的.
虽然我的问题措辞严厉,但我的意思是设计师不应该对客户可用的内容做出太多假设.您应该计划所有用户如何看到您的网站,而不仅仅是使用您自己首选设置的用户.
像任何负责任的开发人员一样,我想确保我生产的网站可供最广泛的受众访问,其中包括具有某种形式色盲的大部分人口.
有许多网站提供过滤您提供的网址,通过渲染图片或过滤所有内容.但是,在渲染即使是中等复杂的布局时,这两种方法似乎也都失败了,所以我有兴趣找到一种客户端方法.
理想的解决方案是整个屏幕上的系统过滤器,可用于测试任何程序.接下来最好的事情是浏览器插件.
有没有办法使用HTTP代理将Apache连接到Tomcat,以便Tomcat获取正确的传入主机名而不是localhost?我在apache中使用此指令:
ProxyPass /path http://localhost:8080/path
Run Code Online (Sandbox Code Playgroud)
但它来自localhost,当我们在同一台服务器上有一堆站点时,这是无用的.我可以在服务器配置中手动设置主机:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
proxyName="pretend.host" proxyPort="80" />
Run Code Online (Sandbox Code Playgroud)
但这再次不会提供多个站点.而且我不喜欢为每个站点使用不同的内部端口,听起来真的很难看.
我代理它时是否无法转移端口?
(如果你问为什么我不只是使用AJP,答案就是这个错误.我在尝试完全放弃Tomcat和Apache之前我正在尽我所能)
当我第一次开始关注Scala时,我喜欢看起来很容易理解.它们似乎有点像我从Java 5习惯的foreach循环,但具有功能限制和很多甜美的语法好处.
但正如我已经吸收了Scala的风格,我发现我每次可以使用一个换comprension我使用map,flatMap,filter,reduce和foreach来代替.代码的意图对我来说似乎更清晰,潜在的隐藏意外更少,而且它们通常也是更短的代码.
据我所知,无论如何,for-comprehension总是编译成这些方法,所以我想知道:它们实际上是为了什么?我错过了一些功能性的复兴(这不是第一次)?为了理解做其他功能不能做的事情,或者至少会笨拙地做些什么?他们是否根据特定用例发光?这真的只是个人品味的问题吗?
请原谅这个问题的长度.
我经常需要在我的代码的一层创建一些上下文信息,并在其他地方使用该信息.我通常发现自己使用隐式参数:
def foo(params)(implicit cx: MyContextType) = ...
implicit val context = makeContext()
foo(params)
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是需要隐式参数传递很多,在介入函数的布局之后污染图层的方法签名,即使他们自己并不关心它.
def foo(params)(implicit cx: MyContextType) = ... bar() ...
def bar(params)(implicit cx: MyContextType) = ... qux() ...
def qux(params)(implicit cx: MyContextType) = ... ged() ...
def ged(params)(implicit cx: MyContextType) = ... mog() ...
def mog(params)(implicit cx: MyContextType) = cx.doStuff(params)
implicit val context = makeContext()
foo(params)
Run Code Online (Sandbox Code Playgroud)
我发现这种方法很难看,但它确实有一个优点:它的类型安全.我肯定知道mog会收到正确类型的上下文对象,或者它不会编译.
如果我可以使用某种形式的"依赖注入"来定位相关的上下文,它将减轻混乱.引号表明这与Scala中常见的依赖注入模式不同.
起点foo和终点mog可以存在于系统的非常不同的级别.例如,foo可能是用户登录控制器,mog可能正在进行SQL访问.可能有许多用户同时登录,但只有一个SQL层实例.每次mog由不同的用户调用时,需要不同的上下文.因此,上下文不能被烘焙到接收对象中,也不想以任何方式合并这两个层(如Cake Pattern).我还宁愿不依赖像Guice或Spring这样的DI/IoC库.我发现它们很重,不太适合Scala.
所以我认为我需要的东西是mog让它在运行时为它检索正确的上下文对象,有点像在ThreadLocal其中有一个堆栈: …
Scala博客最近对类型类模式似乎有很多热情,其中一个简单的类通过符合某些特征或模式的附加类添加了功能.作为一个极其简单的例子,简单的类:
case class Wotsit (value: Int)
Run Code Online (Sandbox Code Playgroud)
可以适应Foo的特点:
trait Foo[T] {
def write (t: T): Unit
}
Run Code Online (Sandbox Code Playgroud)
借助此类型类:
implicit object WotsitIsFoo extends Foo[Wotsit] {
def write (wotsit: Wotsit) = println(wotsit.value)
}
Run Code Online (Sandbox Code Playgroud)
类型类通常在编译时捕获,带有隐含,允许Wotsit及其类型类一起传递到更高阶函数:
def writeAll[T] (items: List[T])(implicit tc: Foo[T]) =
items.foreach(w => tc.write(w))
writeAll(wotsits)
Run Code Online (Sandbox Code Playgroud)
(在你纠正我之前,我说这是一个过于简单的例子)
但是,使用implicits假定在编译时已知项的精确类型.我发现在我的代码中经常不是这样的:我将列出某种类型的项目List [T],并且需要发现正确的类型类来处理它们.
Scala的建议方法似乎是在调用层次结构的所有点添加类型类参数.这可能会因为代码规模而变得烦人,并且这些依赖关系需要通过越来越长的链传递,通过它们越来越无关紧要的方法.这使得代码变得混乱并且难以维护,与Scala的相反.
通常,这是依赖注入将介入的地方,使用库在需要的时间点提供所需的对象.详细信息因为DI选择的库而异 - 我过去在Java中编写了自己的库 - 但通常注入点需要精确定义所需的对象.
麻烦的是,在类型类的情况下,在编译时不知道精确值.必须根据多态描述选择它.而且至关重要的是,类型信息已被编译器删除.清单是Scala的类型擦除解决方案,但我不清楚如何使用它们来解决这个问题.
Scala的哪些技术和依赖注入库会被人们建议作为解决这个问题的方法?我错过了一招吗?完美的DI库?或者这真的是它似乎的关键点吗?
我认为这有两个方面.在第一种情况下,需要类型类的点是通过直接函数调用从其操作数的确切类型已知的点到达的,因此足够的类型争论和语法糖可以允许类型类传递给指出它是必要的.
在第二种情况下,这两个点由屏障隔开 - 例如无法更改的API,或存储在数据库或对象存储中,或序列化并发送到另一台计算机 - 这意味着类型类可以' t与其操作数一起传递.在这种情况下,给定一个只在运行时知道其类型和值的对象,需要以某种方式发现类型类.
我认为函数式程序员习惯于假设第一种情况 - 使用足够先进的语言,操作数的类型总是可以知道的.David和mkniessl为此提供了很好的答案,我当然不想批评这些.但第二种情况确实存在,这就是我将依赖注入带入问题的原因.
您可以将scala脚本作为linux shell脚本运行:
#!/bin/sh
exec scala "$0" "$@"
!#
println("Hello")
Run Code Online (Sandbox Code Playgroud)
在一个这样的脚本中,我需要从一组jar中加载类(这些jar恰好与脚本位于同一目录中).如果这是我可以使用的REPL :jar,但这在脚本模式下不可用.
我正在尝试设置-classpath参数:
#!/bin/sh
exec scala -classpath '.:./*.jar' "$0" "$@"
!#
import javax.media.jai.{JAI, RenderedOp}
Run Code Online (Sandbox Code Playgroud)
但编译器只是找不到类:
error: object media is not a member of package javax
import javax.media.jai.{JAI, RenderedOp}
^
Run Code Online (Sandbox Code Playgroud)
我如何包括这些罐子?