2017-10-11 18 views
1

私はいくつかの時間を検索した後に、DocumentTitleというデータ型を持つDOM.HTML.Historyモジュールを追求しました。このタイプは、おそらくページのdocument.titleプロパティを変更する機能Purescriptを使用して文書のタイトルを設定するにはどうすればよいですか?

replaceState :: 
    ∀ e. Foreign -> DocumentTitle -> URL -> History -> Eff (history :: HISTORY | e) Unit 

と一緒に使用することができ、しかし、私は、外部を取得します。この機能(例えば、呼び出す方法を示す例を見つけることができませんForeignデータ・タイプ?)。また、私はこの機能が私が期待することをするかどうかも分かりません...

+0

「replaceState」はHTML5履歴APIに関連しているようです。おそらくあなたが探しているものではありません。 – stholzm

答えて

1

PurescriptチームがコアAPIにドキュメントのタイトルを変更する方法を含めていないという不幸なケースでは、 purescriptの便利なFFIメカニズムを利用することで、これを行うことはまだ可能です。

プロジェクトにこれらの2つのファイルを追加します。

Document.js

exports.setDocumentTitle = 
    function (title) 
    { 
    return function() 
    { 
     window.document.title = title; 
    }; 
    }; 

Document.purs

module Document 
where 

import Control.Monad.Eff (kind Effect, Eff) 
import Data.Unit (Unit) 

foreign import data DOCUMENT :: Effect 

foreign import setDocumentTitle :: 
    ∀ fx . String -> Eff (document :: DOCUMENT | fx) Unit 

あなたがコンソールのを呼び出すと同じように今、あなたはsetDocumentTitleを呼び出すことができますがlogの機能は、効果はもちろんCONSOLEの代わりにとなります。

関連する問題