2016-10-23 13 views
1


私はgoogle.com.auにいくつかのコンテンツスクリプトを挿入するクロム拡張機能に取り組んでいます。そのコンテンツスクリプトは、小さなインタフェースを持つ角度uiルータベースのアプリケーションを読み込みます。私はURLなしで$状態を使用しています。だから、templateUrlとcontrollerだけです。問題は、$state.go('home')を使用して私の小さなアプリのホームページに移動したときに、$state.goが内部で場所やURLを変更したときなどです。
(2) :- https://www.google.com.au/#/q=hello
(1) :- https://www.google.com.au/#q=hello
は(Qの後に/エクストラあり)

2番目のURLはgoogle.com.auに戻って私をリダイレクト無効です。
また、そのURLには#が含まれていないリンクされた検索結果ページに同じアプリケーションを挿入してもうまくいきました。

また、と$state.transitionToのような第3のパラメータを{location:false ....}と変更してみました。しかしそれはまだ上のようなURLを変更します。

私は立ち往生しており、先に進むことができません。
ここに問題のスクリーンキャストです。
http://screencast.com/t/ZrBtlkU3z
ご協力いただければ幸いです。
ありがとうございます。

更新
ここに挙げた問題を含むクロムエクステンションの例です。 https://[email protected]/Vikasg7/example-app.git
このようアンパック拡張をロードし、前に、私は上記している問題を確認するために拡張をロードした後
https://www.google.com.au/#q=hello
に行くことにしてみてください。

これは、問題を解決する専門家のお役に立てば幸いです。

答えて

0

[OK]を、大量の研究とヒットと試用後。 ここには、状態を変更するときにURLを変更しないコードがあります。 私はhtml5Modeを使用しなければなりませんでした。より詳しい情報と使い方はここで見つけることができます。
https://docs.angularjs.org/guide/ $位置#のHTMLリンク書き換え
このことができます
AngularJS 1.1.5 - automatically adding hash tag to URLs

angular 
    .module("app", ["ui.router", "app.services", "app.directives", "app.controllers"]) 
    .config(["$stateProvider", "$locationProvider", function ($stateProvider, $locationProvider) { 
    $locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false, 
     rewriteLinks: true 
    }).hashPrefix("!") 
    }]) 

希望、そこに誰かを投稿StackOverflowの!

0

これはui-routerの意図した動作だと思います。このためにネイティブのjavascript(window.location.href = 'XXX')または多分$ locationを使用して、必要に応じて正確にhashbangを設定する必要があります。

+0

この動作を無効にすることはできますか? –