小编Ank*_*agi的帖子

window.history.pushState刷新浏览器

我正在研究一些javascript代码,并使用window.History.pushState加载新HTML页面,而不是使用href标签.我的代码(工作正常)看起来像这样.

window.History.pushState({urlPath:'/page1'},"",'/page1')
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这失败了,即重新加载浏览器

window.History.pushState({urlPath:'/page2.php'},"",'/page2.php')
Run Code Online (Sandbox Code Playgroud)

但是这个工作,内容更新,浏览器没有刷新!(注意URL是绝对的而不是相对的)

window.History.pushState({urlPath:'www.domain.com/page2.php'},"",'www.domain.com/page2.php')
Run Code Online (Sandbox Code Playgroud)

文档window.History.pushState说,第三个参数的URL可以是绝对或相对-

URL - 此历史记录条目的URL由此参数指定.请注意,在调用pushState()之后,浏览器不会尝试加载此URL,但稍后可能会尝试加载URL,例如在用户重新启动浏览器之后.新URL不一定是绝对的; 如果是相对的,则相对于当前URL进行解析.新URL必须与当前URL的源相同; 否则,pushState()将抛出异常.此参数是可选的; 如果未指定,则将其设置为文档的当前URL.

绝对URL似乎正在起作用,但相对似乎并非如此.为什么会这样?

html javascript php browser pushstate

38
推荐指数
3
解决办法
10万
查看次数

phpize - 找不到config.m4.

我试图在MacOSx Mountain Lion上运行'phpize'命令,但这就是我得到的

 Cannot find config.m4. 
 Make sure that you run '/opt/local/bin/phpize' in the top level source directory of the module
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

php macos osx-mountain-lion

32
推荐指数
2
解决办法
7万
查看次数

Android Manifest- intent过滤器和活动

有人可以解释清单中的以下行 -

    <activity
        android:name=".AboutUs"
        android:label="@string/app_name">
        <intent-filter >
            <action android:name="com.example.app1.ABOUT" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>

    </activity>    
Run Code Online (Sandbox Code Playgroud)

活动和意图过滤器中的字段如何重要以及何时使用/引用?对不起,我试图阅读文档,但仍然无法想象.

谢谢

java eclipse android android-manifest

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

Java - 读取文件并拆分成多个文件

我有一个文件,我想用Java读取并将此文件拆分为n(用户输入)输出文件.这是我如何阅读文件:

int n = 4;
BufferedReader br = new BufferedReader(new FileReader("file.csv"));
try {
    String line = br.readLine();

    while (line != null) {
        line = br.readLine();
    }
} finally {
    br.close();
}
Run Code Online (Sandbox Code Playgroud)

如何将文件拆分file.csvn文件?

注 - 由于文件中的条目数量大约为100k,因此无法将文件内容存储到数组中,然后将其拆分并保存到多个文件中.

java

13
推荐指数
2
解决办法
8万
查看次数

jboss-deployment-structure.xml添加JAXP排除

我正在实现防止XXE(外部XML实体)注入的XML验证.我从OWASP XXE预防备忘单中借了一些代码.我的代码看起来像这样 -

        SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema schema = factory.newSchema(xsdFileURL);
        Validator validator = schema.newValidator();
        validator.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
        validator.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
        validator.validate(new StreamSource(new StringReader(xml)));
Run Code Online (Sandbox Code Playgroud)

代码在我的本地Windows机器上正确运行(JDK 1.8.0_92,Wildfly 8.2).但是在具有类似配置的QA Red Hat机器上(JDK - 1.8.0_101,Wildfly 8.2),它会抛出异常消息 -

Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
Run Code Online (Sandbox Code Playgroud)

经过一些阅读后,我怀疑在运行时,正在为validator类读取不正确的类定义.我该如何解决?

更新

事实证明Jboss有自己的实现JAXP,我的代码需要从JDK而不是JBoss中选择JAXP实现.我可以通过传递-jaxpmodule参数来轻松地做到这一点standalone.sh(使用这个,我的代码也选择了正确的JAXP实现) -

java -jar jboss-modules.jar -jaxpmodule "javax.xml.jaxp-provider"
Run Code Online (Sandbox Code Playgroud)

但是我想使用jboss-deployment-structure.xml这样做并添加这样的排除 -

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <deployment>
    <exclusions>
        <module name="javax.api" />  // is the module name correct?
    </exclusions>   
  </deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我该如何解决这个问题呢?

java xml jboss spring jaxp

13
推荐指数
1
解决办法
846
查看次数

Java - 写入同一文件的多个线程

我试图通过Java中的多个线程将一些内容写入文件.每个线程读取不同的输入文件,进行一些计算并将一些(不同的)内容写入公共输出文件.问题是,最后,输出文件只包含最后一个终止线程写入的内容,而不包含其他线程的内容.线程的相关代码 -

public void run()
{
    try
    {
        File file = new File("/home/output.txt");
        if (!file.exists()) 
        {
             file.createNewFile();
        }
        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);

        BufferedReader br = new BufferedReader(new FileReader(inputfile)); // each thread reads a different input file
        String line="";

        while((line=br.readLine())!=null)
        {
            String id = line.trim();               // fetch id

            StringBuffer sb = processId(userId);   // process id

            synchronized(this){
            bw.write(sb.toString() + "\n");        // write to file
            }
        }
        bw.close();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何让所有线程将其内容写入公共文件?

java multithreading

8
推荐指数
2
解决办法
5万
查看次数

移动应用和PC浏览器之间的对等通信

我工作的一个项目,我需要我的移动应用程序跟我的网页浏览器在PC上,其中两个设备连接通过WiFi.应用程序将发送将由计算机浏览器接收的数据,然后执行一些客户端代码.然后浏览器可以发送一些反馈.

我最初的方法是让应用程序与端点进行通信,而端点又与浏览器的客户端进行通信(javascript).

什么是最好的方法来做到这一点?

更新

我不确定是否Socket.io是一个可能的解决方案,因为它需要托管服务器.是否可以使用套接字来解决这个问题?

javascript browser android network-programming ios

7
推荐指数
1
解决办法
2468
查看次数

如何检查Java中的Internet连接

我正在研究一个需要始终具有互联网连接的Java项目.

我希望我的程序在某些时间间隔(例如5或10秒)继续检查互联网连接,并在没有检测到互联网连接时显示消息.

我曾尝试使用isReachable方法来实现此功能,下面是代码 -

try
{
    InetAddress add = InetAddress.getByName("www.google.com");
    if(add.isReachable(3000)) System.out.println("Yes");
    else System.out.println("No");
}
catch (UnknownHostException e) 
{
    System.out.println("unkownhostexception");
} 
catch (IOException e) 
{
    System.out.println("IoException");
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码总是返回"否".这段代码有什么问题?

谢谢

java

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

xcodebuild具有配置文件,没有私钥

我们正在一家大型企业公司中构建一个MacOS应用程序,我们需要为我们的桌面应用程序启用推送通知.

为了支持通知,我们需要使用配置文件构建我们的应用程序 -

xcodebuild PROVISIONING_PROFILE="<provision profile id>"
Run Code Online (Sandbox Code Playgroud)

这会导致错误 -

Check dependencies
Code Signing Error: No signing certificate "<Cert name>" found:  
No "<Cert name>" signing certificate matching team ID "<team id>" 
with a private key was found.
Run Code Online (Sandbox Code Playgroud)

看起来我们需要在我们的机器上安装私钥.由于我们在一个大型企业中工作,其中许多应用程序在一个分发证书下发布,因此对私钥的访问受到限制.

是否可以在没有私钥的情况下构建mac os应用程序(保留推送通知功能)?理想情况下,我们希望在开发过程中不使用私钥来构建应用程序,并在我们希望将其发布到全世界时进行签名.

我们尝试了下面的失败 -

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO PROVISIONING_PROFILE="<profile id>"
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

macos xcode apple-push-notifications ios provisioning-profile

6
推荐指数
1
解决办法
379
查看次数

从字符串中删除多个子字符串 - Java

我需要从给定的String中删除多个子字符串.示例 -

String[] exclude = {"one","two","three"};
String input = "if we add one and two we get three"
Run Code Online (Sandbox Code Playgroud)

我希望我的程序从输入字符串中删除所有出现的"一个"或"两个"或"三个"并返回 -

"if we add and we get"
Run Code Online (Sandbox Code Playgroud)

我怎么能用Java做到这一点?

java arrays string replace

5
推荐指数
1
解决办法
4967
查看次数