2017-10-11 4 views
1

내가 찾은 시간 동안 검색 한 후 데이터 형식이 DocumentTitleDOM.HTML.History 모듈을 추적합니다. 이 유형은 아마 내가 (이 함수를 호출하는 방법을 보여주는 예제를 찾을 수 없습니다Purescript를 사용하여 문서 제목을 어떻게 설정합니까?

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

그러나, 페이지의 document.title 속성을 변경하는 기능과 함께 사용할 수있는 예를 들어, 내가 외부 Foreign을 얻는 곳 데이터 형식?). 또한,이 기능이 내가 기대하는대로 작동하는지 확실하지 않습니다 ...

+0

'replaceState'는 HTML5 기록 API와 관련이있는 것으로 보입니다. 아마 당신이 찾고있는 것이 아닙니다. – stholzm

답변

1

불행히도 Purescript 팀이 핵심 API에 문서 제목을 변경하는 방법을 포함시키지 않은 경우, purescript의 편리한 FFI 메커니즘을 사용하여 여전히 그렇게 할 수 있습니다.

프로젝트에이 두 파일을 추가합니다

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 대신을 입력하십시오.